![]() |
Ark Server API (ASA) - Wiki
|
#include <ExpressionParserTypes.h>
Inheritance diagram for FExpressionNode:
Collaboration diagram for FExpressionNode: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.
Here is the call graph for this function:| 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.