TAO_CosTrader 4.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TAO_Constraint_Visitor Class Referenceabstract

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]

Public Member Functions

virtual ~TAO_Constraint_Visitor ()
 
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

◆ ~TAO_Constraint_Visitor()

virtual TAO_Constraint_Visitor::~TAO_Constraint_Visitor ( )
inlinevirtual

Member Function Documentation

◆ visit_add()

virtual int TAO_Constraint_Visitor::visit_add ( TAO_Binary_Constraint * boolean_add)
pure virtual

◆ visit_and()

virtual int TAO_Constraint_Visitor::visit_and ( TAO_Binary_Constraint * boolean_and)
pure virtual

◆ visit_constraint()

virtual int TAO_Constraint_Visitor::visit_constraint ( TAO_Unary_Constraint * constraint)
pure virtual

◆ visit_div()

virtual int TAO_Constraint_Visitor::visit_div ( TAO_Binary_Constraint * boolean_div)
pure virtual

◆ visit_equal()

virtual int TAO_Constraint_Visitor::visit_equal ( TAO_Binary_Constraint * boolean_eq)
pure virtual

◆ visit_exist()

virtual int TAO_Constraint_Visitor::visit_exist ( TAO_Unary_Constraint * unary_exist)
pure virtual

◆ visit_first()

virtual int TAO_Constraint_Visitor::visit_first ( TAO_Noop_Constraint * noop_first)
pure virtual

◆ visit_greater_than()

virtual int TAO_Constraint_Visitor::visit_greater_than ( TAO_Binary_Constraint * boolean_gt)
pure virtual

◆ visit_greater_than_equal()

virtual int TAO_Constraint_Visitor::visit_greater_than_equal ( TAO_Binary_Constraint * boolean_gte)
pure virtual

◆ visit_in()

virtual int TAO_Constraint_Visitor::visit_in ( TAO_Binary_Constraint * binary_in)
pure virtual

◆ visit_less_than()

virtual int TAO_Constraint_Visitor::visit_less_than ( TAO_Binary_Constraint * boolean_lt)
pure virtual

◆ visit_less_than_equal()

virtual int TAO_Constraint_Visitor::visit_less_than_equal ( TAO_Binary_Constraint * boolean_lte)
pure virtual

◆ visit_literal()

virtual int TAO_Constraint_Visitor::visit_literal ( TAO_Literal_Constraint * literal)
pure virtual

◆ visit_max()

virtual int TAO_Constraint_Visitor::visit_max ( TAO_Unary_Constraint * unary_max)
pure virtual

◆ visit_min()

virtual int TAO_Constraint_Visitor::visit_min ( TAO_Unary_Constraint * unary_min)
pure virtual

◆ visit_mult()

virtual int TAO_Constraint_Visitor::visit_mult ( TAO_Binary_Constraint * boolean_mult)
pure virtual

◆ visit_not()

virtual int TAO_Constraint_Visitor::visit_not ( TAO_Unary_Constraint * unary_not)
pure virtual

◆ visit_not_equal()

virtual int TAO_Constraint_Visitor::visit_not_equal ( TAO_Binary_Constraint * boolean_neq)
pure virtual

◆ visit_or()

virtual int TAO_Constraint_Visitor::visit_or ( TAO_Binary_Constraint * boolean_or)
pure virtual

◆ visit_property()

virtual int TAO_Constraint_Visitor::visit_property ( TAO_Property_Constraint * literal)
pure virtual

◆ visit_random()

virtual int TAO_Constraint_Visitor::visit_random ( TAO_Noop_Constraint * noop_random)
pure virtual

◆ visit_sub()

virtual int TAO_Constraint_Visitor::visit_sub ( TAO_Binary_Constraint * boolean_sub)
pure virtual

◆ visit_twiddle()

virtual int TAO_Constraint_Visitor::visit_twiddle ( TAO_Binary_Constraint * binary_twiddle)
pure virtual

◆ visit_unary_minus()

virtual int TAO_Constraint_Visitor::visit_unary_minus ( TAO_Unary_Constraint * unary_minus)
pure virtual

◆ visit_with()

virtual int TAO_Constraint_Visitor::visit_with ( TAO_Unary_Constraint * unary_with)
pure virtual

The documentation for this class was generated from the following file: