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

# TAO_Constraint Class Reference

TAO_Constraint is the base class of all nodes on the constraint expression tree. More...

`#include <Constraint_Nodes.h>`

Inheritance diagram for TAO_Constraint:

[legend]
List of all members.

## Public Methods
virtual int | accept (TAO_Constraint_Visitor *visitor)=0
| 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. More...
virtual TAO_Expression_Type | expr_type (void) const=0
| Return the expression type represented by this node. More...
virtual | ~TAO_Constraint (void)

## Detailed Description

TAO_Constraint is the base class of all nodes on the constraint expression tree.

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.

## Constructor & Destructor Documentation

virtual TAO_Constraint::~TAO_Constraint | ( | void |  | ) | `[inline, virtual]`

## Member Function Documentation

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. Reimplemented in TAO_Noop_Constraint, TAO_Binary_Constraint, TAO_Unary_Constraint, TAO_Property_Constraint, and TAO_Literal_Constraint.

virtual TAO_Expression_Type TAO_Constraint::expr_type | ( | void |  | ) | const`[pure virtual]`

| Return the expression type represented by this node. Reimplemented in TAO_Noop_Constraint, TAO_Binary_Constraint, TAO_Unary_Constraint, TAO_Property_Constraint, and TAO_Literal_Constraint.

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

- Constraint_Nodes.h