Ark Server API (ASA) - Wiki
|
#include <ExpressionParserTypes.h>
Public Member Functions | |
FExpressionNode () | |
template<typename T > | |
FExpressionNode (T In, typename TEnableIf<!TPointerIsConvertibleFromTo< T, FExpressionNode >::Value >::Type *=nullptr) | |
~FExpressionNode () | |
FExpressionNode (FExpressionNode &&In) | |
FExpressionNode & | operator= (FExpressionNode &&In) |
const FGuid & | GetTypeId () const |
template<typename T > | |
const T * | Cast () const |
FExpressionNode | Copy () const |
Private Member Functions | |
Impl::IExpressionNodeStorage * | GetData () |
const Impl::IExpressionNodeStorage * | GetData () const |
Private Member Functions inherited from FNoncopyable | |
FNoncopyable () | |
~FNoncopyable () | |
Private Attributes | |
FGuid | TypeId |
uint8 | InlineBytes [MaxStackAllocationSize] |
Static Private Attributes | |
static constexpr uint32 | MaxStackAllocationSize = 64 - sizeof(FGuid) |
Primitive types should only be declared once inside the codebase to avoid conflicts A node in an expression. Can be constructed from any C++ type that has a corresponding DEFINE_EXPRESSION_NODE_TYPE. Evaluation behaviour (unary/binary operator etc) is defined in the expression grammar, rather than the type itself.
Definition at line 179 of file ExpressionParserTypes.h.
|
inline |
Default constructor
Definition at line 184 of file ExpressionParserTypes.h.
FExpressionNode::FExpressionNode | ( | T | In, |
typename TEnableIf<!TPointerIsConvertibleFromTo< T, FExpressionNode >::Value >::Type * | = nullptr ) |
Construction from client expression data type
Definition at line 168 of file ExpressionParserTypes.inl.
FExpressionNode::~FExpressionNode | ( | ) |
FExpressionNode::FExpressionNode | ( | FExpressionNode && | In | ) |
Move construction/assignment
Cast this node to the specified type. Will return nullptr if the types do not match.
Definition at line 176 of file ExpressionParserTypes.inl.
FExpressionNode FExpressionNode::Copy | ( | ) | const |
Copy this node and its wrapped data
|
private |
Helper accessor to the data interface. Returns null for empty containers.
|
private |
FExpressionNode & FExpressionNode::operator= | ( | FExpressionNode && | In | ) |
|
private |
Definition at line 220 of file ExpressionParserTypes.h.
|
staticconstexprprivate |
The maximum size of type we will allow allocation on the stack (for efficiency). Anything larger will be allocated on the heap.
Definition at line 212 of file ExpressionParserTypes.h.
|
private |
TypeID - 16 bytes
Definition at line 219 of file ExpressionParserTypes.h.