UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ExpressionParserTypes.h File Reference
#include "CoreTypes.h"
#include "ExpressionParserTypesFwd.h"
#include "Templates/UnrealTemplate.h"
#include "Containers/Array.h"
#include "Containers/UnrealString.h"
#include "Templates/Function.h"
#include "Containers/Set.h"
#include "Containers/Map.h"
#include "Misc/Optional.h"
#include "Internationalization/Text.h"
#include "Internationalization/Internationalization.h"
#include "Misc/Guid.h"
#include "Templates/ValueOrError.h"
#include <type_traits>
#include "Misc/ExpressionParserTypes.inl"

Go to the source code of this file.

Classes

struct  FExpressionError
 
class  TStringToken< CharType >
 
class  TTokenStream< CharType >
 
class  FExpressionNode
 
class  TExpressionToken< CharType >
 
struct  TCompiledToken< CharType >
 
struct  FOperatorFunctionID
 
struct  TOperatorJumpTable< ContextType, CharType >
 
struct  TIOperatorEvaluationEnvironment< CharType >
 
struct  TOperatorEvaluationEnvironment< ContextType, CharType >
 
class  TExpressionTokenConsumer< CharType >
 
class  TTokenDefinitions< CharType >
 
struct  FOpParameters
 
class  FExpressionGrammar
 

Namespaces

namespace  Impl
 

Macros

#define DEFINE_EXPRESSION_NODE_TYPE(TYPE, ...)
 

Typedefs

template<typename CharType >
using TExpressionDefinition = TOptional< FExpressionError >(TExpressionTokenConsumer< CharType > &)
 

Enumerations

enum class  EParseState { Continue , StopAfter , StopBefore , Cancel }
 
enum class  EAssociativity : uint8 { RightToLeft , LeftToRight }
 

Macro Definition Documentation

◆ DEFINE_EXPRESSION_NODE_TYPE

#define DEFINE_EXPRESSION_NODE_TYPE (   TYPE,
  ... 
)
Value:
template<> struct TGetExpressionNodeTypeId<TYPE>\
{\
static const FGuid& GetTypeId()\
{\
return Global;\
}\
};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Guid.h:109
Definition ExpressionParserTypes.h:205

Helper macro to define the necessary template specialization for a particular expression node type Variable length arguments are passed the FGuid constructor. Must be unique per type

Typedef Documentation

◆ TExpressionDefinition

Typedefs that defines a function used to consume tokens Definitions may add FExpressionNodes parsed from the provided consumer's stream, or return an optional error. Where a definition performs no mutable operations, subsequent token definitions will be invoked.

Enumeration Type Documentation

◆ EAssociativity

enum class EAssociativity : uint8
strong

Enum specifying the associativity (order of execution) for binary operators

Enumerator
RightToLeft 
LeftToRight 

◆ EParseState

enum class EParseState
strong

Enum specifying how to treat the currently parsing character.

Enumerator
Continue 

Include this character in the token and continue consuming

StopAfter 

Include this character in the token and stop consuming

StopBefore 

Exclude this character from the token and stop consuming

Cancel 

Cancel parsing this token, and return nothing.