8#include "Misc/Optional.h"
13#define DEFINE_EXPRESSION_OPERATOR_NODE(EXPORTAPI, TYPE, ...) \
14namespace ExpressionParser {\
15 struct EXPORTAPI TYPE { static const TCHAR* const Moniker; }; \
17DEFINE_EXPRESSION_NODE_TYPE(ExpressionParser::TYPE, __VA_ARGS__)
68 template<
typename TSymbol>
#define DEFINE_EXPRESSION_OPERATOR_NODE(EXPORTAPI, TYPE,...)
Definition BasicMathExpressionEvaluator.h:13
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition BasicMathExpressionEvaluator.h:83
static CORE_API void MapArithmeticOperators(FOperatorJumpTable &JumpTable)
Definition BasicMathExpressionEvaluator.cpp:177
CORE_API FBasicMathExpressionEvaluator()
Definition BasicMathExpressionEvaluator.cpp:208
static CORE_API void DefineArithmeticOperators(FExpressionGrammar &TokenDefinitions)
Definition BasicMathExpressionEvaluator.cpp:159
static CORE_API void DefineArithmeticTokens(FTokenDefinitions &TokenDefinitions)
Definition BasicMathExpressionEvaluator.cpp:142
CORE_API TValueOrError< double, FExpressionError > Evaluate(const TCHAR *InExpression, double InExistingValue=0) const
Definition BasicMathExpressionEvaluator.cpp:224
Definition ExpressionParserTypes.h:557
Definition ExpressionParserTypes.h:456
CORE_API TTokenStream< CharType > & GetStream()
Definition ExpressionParser.cpp:303
CORE_API void Add(const TStringToken< CharType > &SourceToken, FExpressionNode &&Node)
Definition ExpressionParser.cpp:296
Definition ExpressionParserTypes.h:39
Definition ExpressionParserTypes.h:121
Definition ValueOrError.h:58
Definition BasicMathExpressionEvaluator.cpp:13
TOptional< FExpressionError > ConsumeSymbol(FExpressionTokenConsumer &Consumer)
Definition BasicMathExpressionEvaluator.h:69
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
constexpr bool IsSet() const
Definition Optional.h:69