29 template<
class AVariableManager>
35 typedef typename AVariableManager::Object
Object;
39 typedef typename AVariableManager::Var
Var;
65 template<
class AVariableManager>
71 typedef typename AVariableManager::Object
Object;
75 typedef typename AVariableManager::Var
Var;
80 virtual typename AVariableManager::VarVariant
evaluate(
const Object* p)
const = 0;
A parsed cut-string naturally has a tree shape which incorporates the infomation of operator preceden...
AVariableManager::Var Var
Template argument dependent Variable type definition.
virtual bool check(const Object *p) const =0
pure virtual check function, has to be overridden in derived class
virtual void print() const =0
pure virtual print function, has to be overridden in derived class
virtual ~AbstractBooleanNode()
Virtual destructor.
virtual std::string decompile() const =0
pure virtual decompile function, has to be overridden in derived class
AVariableManager::Object Object
Template argument dependent Particle type definition.
AbstractExpressionNode Superclass for all nodes which host expressions.
virtual ~AbstractExpressionNode()
Virtual destructor.
AVariableManager::Var Var
Template argument dependent Variable type definition.
virtual AVariableManager::VarVariant evaluate(const Object *p) const =0
pure virtual evaluate function, has to be overridden in derived class
virtual void print() const =0
pure virtual print function, has to be overridden in derived class
virtual std::string decompile() const =0
pure virtual decompile function, has to be overridden in derived class
AVariableManager::Object Object
Template argument dependent Particle type definition.
Nodeclass with two AbstractBooleanNode as children and a Boolean Operator (AND, OR) Check() method ev...
BinaryExpressionNode Node which connects two expression nodes with an arithemtic operation.
BooleanNode which has two AbstractExpressionNodes nodes and a ComparisonOperator.
FunctionNode Node class for handling MetaVariables in cuts.
Class which stores the name of a variable.
BooleanNode which has three AbstractExpressionNodes nodes and two ComparisonOperator.
Nodeclass with a single AbstractBooleanNode as child.
UnaryExpressionNode Node class with a single expression node as child.
Nodeclass with a single AbstractExpressioNode as child.
void injectArithmeticOperatorToStream(std::ostream &stream, const ArithmeticOperation &aoperation)
Helper functions for AbstractBooleanNode and AbstractExpressionNode print() and decompile() members S...
NodeType
Enum of possible Nodes in parsing tree.
void injectComparisonOperatorToStream(std::ostream &stream, const ComparisonOperator &coperator)
Helper functions for AbstractBooleanNode and AbstractExpressionNode print() and decompile() members S...
void injectBooleanOperatorToStream(std::ostream &stream, const BooleanOperator &boperator)
Helper functions for AbstractBooleanNode and AbstractExpressionNode print() and decompile() members S...
ComparisonOperator
Enum for decoding the comparison operator type.
BooleanOperator
Enum for decoding the boolean operator type.
ArithmeticOperation
Enum for decoding the comparison operator type.
Abstract base class for different kinds of events.