#include <Constraint_Nodes.h>
Inheritance diagram for TAO_Constraint:
Public Member Functions | |
virtual int | accept (TAO_Constraint_Visitor *visitor)=0 |
virtual TAO_Expression_Type | expr_type (void) const =0 |
Return the expression type represented by this node. | |
virtual | ~TAO_Constraint (void) |
An TAO_Constraint knows what type of operation or entity it represents, and which method on TAO_Constraint_Visitor correlates to its type. When the accept method is invoked, a subclass dispatches the method on an TAO_Constraint_Visitor correlating to its type.
Definition at line 54 of file Constraint_Nodes.h.
virtual TAO_Constraint::~TAO_Constraint | ( | void | ) | [inline, virtual] |
virtual int TAO_Constraint::accept | ( | TAO_Constraint_Visitor * | visitor | ) | [pure virtual] |
Implementing the pattern of double dispatching, each subclass of TAO_Constraint will call back on an InterpreterVisitor the method to handle a node of its ExpressionType.
Implemented in TAO_Noop_Constraint, TAO_Binary_Constraint, TAO_Unary_Constraint, TAO_Property_Constraint, and TAO_Literal_Constraint.
Referenced by TAO_Constraint_Evaluator::evaluate_constraint(), TAO_Constraint_Evaluator::evaluate_preference(), TAO_Constraint_Validator::validate(), TAO_Constraint_Validator::visit_add(), TAO_Constraint_Validator::visit_and(), TAO_Constraint_Evaluator::visit_and(), TAO_Constraint_Evaluator::visit_bin_op(), TAO_Constraint_Validator::visit_constraint(), TAO_Constraint_Evaluator::visit_constraint(), TAO_Constraint_Validator::visit_div(), TAO_Constraint_Validator::visit_equal(), TAO_Constraint_Validator::visit_exist(), TAO_Constraint_Validator::visit_in(), TAO_Constraint_Evaluator::visit_in(), TAO_Constraint_Validator::visit_less_than(), TAO_Constraint_Evaluator::visit_max(), TAO_Constraint_Evaluator::visit_min(), TAO_Constraint_Validator::visit_not(), TAO_Constraint_Evaluator::visit_not(), TAO_Constraint_Evaluator::visit_or(), TAO_Constraint_Validator::visit_twiddle(), TAO_Constraint_Evaluator::visit_twiddle(), TAO_Constraint_Validator::visit_unary_minus(), TAO_Constraint_Evaluator::visit_unary_minus(), and TAO_Constraint_Evaluator::visit_with().
virtual TAO_Expression_Type TAO_Constraint::expr_type | ( | void | ) | const [pure virtual] |
Return the expression type represented by this node.
Implemented in TAO_Noop_Constraint, TAO_Binary_Constraint, TAO_Unary_Constraint, TAO_Property_Constraint, and TAO_Literal_Constraint.
Referenced by TAO_Constraint_Validator::extract_type(), and TAO_Constraint_Validator::visit_exist().