KSeExpr 6.0.0.0
|
#include <ExprFuncX.h>
Classes | |
class | ArgHandle |
Public Member Functions | |
ExprFuncSimple (const bool threadSafe) | |
int | buildInterpreter (const ExprFuncNode *node, Interpreter *interpreter) const override |
Build an interpreter to evaluate the expression. | |
ExprType | prep (ExprFuncNode *node, bool scalarWanted, ExprVarEnvBuilder &envBuilder) const override=0 |
virtual ExprFuncNode::Data * | evalConstant (const ExprFuncNode *node, ArgHandle args) const =0 |
virtual void | eval (ArgHandle args)=0 |
![]() | |
ExprFuncX (const bool threadSafe) | |
ExprFuncX (const ExprFuncX &)=default | |
ExprFuncX (ExprFuncX &&)=default | |
ExprFuncX & | operator= (const ExprFuncX &)=default |
ExprFuncX & | operator= (ExprFuncX &&)=default |
virtual ExprType | type () const |
virtual | ~ExprFuncX ()=default |
bool | isThreadSafe () const |
virtual size_t | sizeInBytes () const |
Return memory usage of a funcX in bytes. | |
virtual void | statistics (Statistics &) const |
Give this function a chance to populate its statistics. | |
Static Private Member Functions | |
static int | EvalOp (int *opData, double *fp, char **c, std::vector< int > &callStack) |
Additional Inherited Members | |
![]() | |
bool | _isScalar {} |
ExprType | _type |
Definition at line 64 of file ExprFuncX.h.
Definition at line 66 of file ExprFuncX.h.
|
overridevirtual |
Build an interpreter to evaluate the expression.
evaluate the expression. the given node is where in the parse tree the evaluation is for
Implements KSeExpr::ExprFuncX.
Definition at line 22 of file ExprFuncX.cpp.
References evalConstant(), and EvalOp().
|
pure virtual |
|
staticprivate |
Definition at line 14 of file ExprFuncX.cpp.
Referenced by buildInterpreter().
|
overridepure virtual |
prep the expression by doing all type checking argument checking, etc.
Implements KSeExpr::ExprFuncX.
Implemented in KSeExpr::GetVar, KSeExpr::MapFuncX, KSeExpr::TriplanarFuncX, KSeExpr::RandFuncX, KSeExpr::CachedVoronoiFunc, KSeExpr::CurveFuncX, KSeExpr::CCurveFuncX, KSeExpr::PrintFuncX, KSeExpr::SPrintFuncX, and BasicExpression::DummyFuncX.