Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members

# 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:

[legend]
List of all members.

## Public Methods

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_add | ( | TAO_Binary_Constraint * | boolean_add | ) | `[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_constraint | ( | TAO_Unary_Constraint * | constraint | ) | `[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_equal | ( | TAO_Binary_Constraint * | boolean_eq | ) | `[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_first | ( | TAO_Noop_Constraint * | noop_first | ) | `[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_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_literal | ( | TAO_Literal_Constraint * | literal | ) | `[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_min | ( | TAO_Unary_Constraint * | unary_min | ) | `[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_not | ( | TAO_Unary_Constraint * | unary_not | ) | `[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_or | ( | TAO_Binary_Constraint * | boolean_or | ) | `[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.

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_sub | ( | TAO_Binary_Constraint * | boolean_sub | ) | `[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_unary_minus | ( | TAO_Unary_Constraint * | unary_minus | ) | `[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.

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

- Constraint_Visitors.h