#include <Constraint_Nodes.h>
Inheritance diagram for TAO_Binary_Constraint:
Definition at line 99 of file Constraint_Nodes.h.
TAO_Binary_Constraint::TAO_Binary_Constraint | ( | TAO_Expression_Type | op_type, | |
TAO_Constraint * | left, | |||
TAO_Constraint * | right | |||
) |
TAO_Binary_Constraint::~TAO_Binary_Constraint | ( | void | ) | [virtual] |
TAO_Binary_Constraint::TAO_Binary_Constraint | ( | const TAO_Binary_Constraint & | ) | [private] |
int TAO_Binary_Constraint::accept | ( | TAO_Constraint_Visitor * | visitor | ) | [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.
Implements TAO_Constraint.
Definition at line 74 of file Constraint_Nodes.cpp.
References dispatch_table, op_, and TAO_GT.
00075 { 00076 int offset = this->op_ - TAO_GT, 00077 return_value = -1; 00078 00079 if (dispatch_table[offset] != 0) 00080 return_value = dispatch_table[offset] (visitor, this); 00081 00082 return return_value; 00083 }
virtual TAO_Expression_Type TAO_Binary_Constraint::expr_type | ( | void | ) | const [inline, virtual] |
Return the expression type represented by this node.
Implements TAO_Constraint.
Definition at line 111 of file Constraint_Nodes.h.
00112 { return this->op_; }
TAO_Constraint * TAO_Binary_Constraint::left_operand | ( | void | ) | const |
Return the left operand of the binary expression.
Definition at line 199 of file Constraint_Nodes.cpp.
References left_.
Referenced by 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_div(), TAO_Constraint_Validator::visit_equal(), TAO_Constraint_Validator::visit_in(), TAO_Constraint_Evaluator::visit_in(), TAO_Constraint_Validator::visit_less_than(), TAO_Constraint_Evaluator::visit_or(), TAO_Constraint_Validator::visit_twiddle(), and TAO_Constraint_Evaluator::visit_twiddle().
00200 { 00201 return this->left_; 00202 }
TAO_Binary_Constraint& TAO_Binary_Constraint::operator= | ( | const TAO_Binary_Constraint & | ) | [private] |
TAO_Constraint * TAO_Binary_Constraint::right_operand | ( | void | ) | const |
Return the right operand of the binary expression.
Definition at line 205 of file Constraint_Nodes.cpp.
References right_.
Referenced by 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_div(), TAO_Constraint_Validator::visit_equal(), TAO_Constraint_Validator::visit_in(), TAO_Constraint_Evaluator::visit_in(), TAO_Constraint_Validator::visit_less_than(), TAO_Constraint_Evaluator::visit_or(), TAO_Constraint_Validator::visit_twiddle(), and TAO_Constraint_Evaluator::visit_twiddle().
00206 { 00207 return this->right_; 00208 }
int TAO_Binary_Constraint::visit_add | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 151 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_add().
00153 { 00154 return visitor->visit_add (expr); 00155 }
int TAO_Binary_Constraint::visit_and | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 95 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_and().
00097 { 00098 return visitor->visit_and (expr); 00099 }
int TAO_Binary_Constraint::visit_div | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 175 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_div().
00177 { 00178 return visitor->visit_div (expr); 00179 }
int TAO_Binary_Constraint::visit_equal | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 135 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_equal().
00137 { 00138 return visitor->visit_equal (expr); 00139 }
int TAO_Binary_Constraint::visit_greater_than | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 119 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_greater_than().
00121 { 00122 return visitor->visit_greater_than (expr); 00123 }
int TAO_Binary_Constraint::visit_greater_than_equal | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 127 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_greater_than_equal().
00129 { 00130 return visitor->visit_greater_than_equal (expr); 00131 }
int TAO_Binary_Constraint::visit_in | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 191 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_in().
00193 { 00194 return visitor->visit_in (expr); 00195 }
int TAO_Binary_Constraint::visit_less_than | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 103 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_less_than().
00105 { 00106 return visitor->visit_less_than (expr); 00107 }
int TAO_Binary_Constraint::visit_less_than_equal | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 111 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_less_than_equal().
00113 { 00114 return visitor->visit_less_than_equal (expr); 00115 }
int TAO_Binary_Constraint::visit_mult | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 167 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_mult().
00169 { 00170 return visitor->visit_mult (expr); 00171 }
int TAO_Binary_Constraint::visit_not_equal | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 143 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_not_equal().
00145 { 00146 return visitor->visit_not_equal (expr); 00147 }
int TAO_Binary_Constraint::visit_or | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 87 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_or().
00089 { 00090 return visitor->visit_or (expr); 00091 }
int TAO_Binary_Constraint::visit_sub | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 159 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_sub().
00161 { 00162 return visitor->visit_sub (expr); 00163 }
int TAO_Binary_Constraint::visit_twiddle | ( | TAO_Constraint_Visitor * | , | |
TAO_Binary_Constraint * | ||||
) | [static] |
Definition at line 183 of file Constraint_Nodes.cpp.
References TAO_Constraint_Visitor::visit_twiddle().
00185 { 00186 return visitor->visit_twiddle (expr); 00187 }
TAO_Constraint* TAO_Binary_Constraint::left_ [private] |
The operands of the expression.
Definition at line 148 of file Constraint_Nodes.h.
Referenced by left_operand(), and ~TAO_Binary_Constraint().
TAO_Constraint* TAO_Binary_Constraint::right_ [private] |
Definition at line 149 of file Constraint_Nodes.h.
Referenced by right_operand(), and ~TAO_Binary_Constraint().