#define DECLARATION_VISIT_PROC(CLASS_NAME)
Definition Visitor.hpp:88
Definition ExpressionEvaluator.hpp:25
Variant evaluate(Expression &expression, const OnObjectExpressionCallback &onObjectExpressionCallback=nullptr)
void setObjectExpressionCallback(const OnObjectExpressionCallback &callback)
Variant evaluateOrDefault(Expression &expression, const Variant &defaultValue={}, const OnObjectExpressionCallback &onObjectExpressionCallback=nullptr)
Variant evaluateUnaryOp(const UnaryExpression *ast, Variant rhs)
Stack< Variant > mVariantStack
Definition ExpressionEvaluator.hpp:30
OnObjectExpressionCallback mOnObjectExpressionCallback
Definition ExpressionEvaluator.hpp:32
ExpressionEvaluator(RawFlags flags=0)
@ EvaluateReducedBinaryExpression
Definition ExpressionEvaluator.hpp:43
void push(const Variant &v)
RawFlags mFlags
Definition ExpressionEvaluator.hpp:37
bool mThrowOnFailure
Definition ExpressionEvaluator.hpp:34
Variant evaluateBinaryOp(const BinaryExpression *ast, Variant lhs, Variant rhs)
bool mAbort
Definition ExpressionEvaluator.hpp:35
Function< Variant(ObjectExpression *expression) const > OnObjectExpressionCallback
Definition ExpressionEvaluator.hpp:27
Definition Variant.hpp:20
Definition Visitor.hpp:92
std::stack< T, Container > Stack
The Stack class is a container adapter that gives the programmer the functionality of a stack - speci...
Definition Stack.hpp:18
FunctionBase< true, true, fu2::capacity_default, true, false, Signatures... > Function
An owning copyable function wrapper for arbitrary callable types.
Definition Function.hpp:54
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25