TAO_Constraint_Visitor Class Reference

This is the base class for all visitors who wish to preform some operation from the state of the expression tree. Using double dispatching, subclasses of Constraint expression call back to the InterpreterVisitor subclass from the accept method. More...

#include <Constraint_Visitors.h>

Inheritance diagram for TAO_Constraint_Visitor:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~TAO_Constraint_Visitor (void)
virtual int visit_constraint (TAO_Unary_Constraint *constraint)=0
virtual int visit_with (TAO_Unary_Constraint *unary_with)=0
virtual int visit_min (TAO_Unary_Constraint *unary_min)=0
virtual int visit_max (TAO_Unary_Constraint *unary_max)=0
virtual int visit_first (TAO_Noop_Constraint *noop_first)=0
virtual int visit_random (TAO_Noop_Constraint *noop_random)=0
virtual int visit_and (TAO_Binary_Constraint *boolean_and)=0
virtual int visit_or (TAO_Binary_Constraint *boolean_or)=0
virtual int visit_not (TAO_Unary_Constraint *unary_not)=0
virtual int visit_exist (TAO_Unary_Constraint *unary_exist)=0
virtual int visit_unary_minus (TAO_Unary_Constraint *unary_minus)=0
virtual int visit_add (TAO_Binary_Constraint *boolean_add)=0
virtual int visit_sub (TAO_Binary_Constraint *boolean_sub)=0
virtual int visit_mult (TAO_Binary_Constraint *boolean_mult)=0
virtual int visit_div (TAO_Binary_Constraint *boolean_div)=0
virtual int visit_twiddle (TAO_Binary_Constraint *binary_twiddle)=0
virtual int visit_in (TAO_Binary_Constraint *binary_in)=0
virtual int visit_less_than (TAO_Binary_Constraint *boolean_lt)=0
virtual int visit_less_than_equal (TAO_Binary_Constraint *boolean_lte)=0
virtual int visit_greater_than (TAO_Binary_Constraint *boolean_gt)=0
virtual int visit_greater_than_equal (TAO_Binary_Constraint *boolean_gte)=0
virtual int visit_equal (TAO_Binary_Constraint *boolean_eq)=0
virtual int visit_not_equal (TAO_Binary_Constraint *boolean_neq)=0
virtual int visit_literal (TAO_Literal_Constraint *literal)=0
virtual int visit_property (TAO_Property_Constraint *literal)=0


Detailed Description

This is the base class for all visitors who wish to preform some operation from the state of the expression tree. Using double dispatching, subclasses of Constraint expression call back to the InterpreterVisitor subclass from the accept method.

Traversal of the expression tree uses the "Visitor" pattern. To "visit" a node, a client invokes the "accept" method on a subclass of ConstraintExpression, which, in turn, invokes the appropriate method on the visitor passed to it, based on its own type. So, the Constraint_Visitor has a method to deal with each possible type of node in an expression tree; one for each operator in the grammar.


Constructor & Destructor Documentation

virtual TAO_Constraint_Visitor::~TAO_Constraint_Visitor ( void   )  [inline, virtual]


Member Function Documentation

virtual int TAO_Constraint_Visitor::visit_constraint ( TAO_Unary_Constraint constraint  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_with ( TAO_Unary_Constraint unary_with  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_min ( TAO_Unary_Constraint unary_min  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_max ( TAO_Unary_Constraint unary_max  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_first ( TAO_Noop_Constraint noop_first  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_random ( TAO_Noop_Constraint noop_random  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_and ( TAO_Binary_Constraint boolean_and  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_or ( TAO_Binary_Constraint boolean_or  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_not ( TAO_Unary_Constraint unary_not  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_exist ( TAO_Unary_Constraint unary_exist  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_unary_minus ( TAO_Unary_Constraint unary_minus  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_add ( TAO_Binary_Constraint boolean_add  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_sub ( TAO_Binary_Constraint boolean_sub  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_mult ( TAO_Binary_Constraint boolean_mult  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_div ( TAO_Binary_Constraint boolean_div  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_twiddle ( TAO_Binary_Constraint binary_twiddle  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_in ( TAO_Binary_Constraint binary_in  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_less_than ( TAO_Binary_Constraint boolean_lt  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_less_than_equal ( TAO_Binary_Constraint boolean_lte  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_greater_than ( TAO_Binary_Constraint boolean_gt  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_greater_than_equal ( TAO_Binary_Constraint boolean_gte  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_equal ( TAO_Binary_Constraint boolean_eq  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_not_equal ( TAO_Binary_Constraint boolean_neq  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_literal ( TAO_Literal_Constraint literal  )  [pure virtual]

Implemented in TAO_Constraint_Validator, and TAO_Constraint_Evaluator.

virtual int TAO_Constraint_Visitor::visit_property ( TAO_Property_Constraint literal  )  [pure virtual]

Implemented in TAO_Constraint_Validator, TAO_Constraint_Evaluator, and TAO_Trader_Constraint_Evaluator.


The documentation for this class was generated from the following file:
Generated on Thu Feb 21 04:12:06 2008 for TAO_CosTrader by  doxygen 1.5.3-6