casa
$Rev:20696$
|
Abstract base class for a node having multiple child nodes. More...
#include <ExprNodeRep.h>
Public Member Functions | |
TableExprNodeMulti (NodeDataType, ValueType, OperType, const TableExprNodeRep &source) | |
Constructor. | |
virtual | ~TableExprNodeMulti () |
Destructor. | |
virtual void | show (ostream &, uInt indent) const |
Show the expression tree. | |
const PtrBlock < TableExprNodeRep * > & | getChildren () const |
Get the child nodes. | |
Static Public Member Functions | |
static uInt | checkNumOfArg (uInt low, uInt high, const PtrBlock< TableExprNodeRep * > &nodes) |
Check number of arguments low <= number_of_args <= high It throws an exception if wrong number of arguments. | |
static NodeDataType | checkDT (Block< Int > &dtypeOper, NodeDataType dtIn, NodeDataType dtOut, const PtrBlock< TableExprNodeRep * > &nodes) |
Check datatype of nodes and return output type. | |
Protected Attributes | |
PtrBlock< TableExprNodeRep * > | operands_p |
Abstract base class for a node having multiple child nodes.
Internal
TableExprNodeMulti is a node in the table expression tree which can have MULTIple child nodes.
TableExprNodeMulti is the abstract base class for all nodes in a table expression tree using multiple operands. It is used as the base class for the node classes representing functions, sets, indices, etc..
This class contains the common functionality for the classes representing a node with multiple operands.
Definition at line 604 of file ExprNodeRep.h.
casa::TableExprNodeMulti::TableExprNodeMulti | ( | NodeDataType | , |
ValueType | , | ||
OperType | , | ||
const TableExprNodeRep & | source | ||
) |
Constructor.
virtual casa::TableExprNodeMulti::~TableExprNodeMulti | ( | ) | [virtual] |
Destructor.
static NodeDataType casa::TableExprNodeMulti::checkDT | ( | Block< Int > & | dtypeOper, |
NodeDataType | dtIn, | ||
NodeDataType | dtOut, | ||
const PtrBlock< TableExprNodeRep * > & | nodes | ||
) | [static] |
Check datatype of nodes and return output type.
It also sets the expected data type of the operands (from dtIn).
static uInt casa::TableExprNodeMulti::checkNumOfArg | ( | uInt | low, |
uInt | high, | ||
const PtrBlock< TableExprNodeRep * > & | nodes | ||
) | [static] |
Check number of arguments low <= number_of_args <= high It throws an exception if wrong number of arguments.
const PtrBlock<TableExprNodeRep*>& casa::TableExprNodeMulti::getChildren | ( | ) | const [inline] |
virtual void casa::TableExprNodeMulti::show | ( | ostream & | , |
uInt | indent | ||
) | const [virtual] |
Show the expression tree.
Reimplemented from casa::TableExprNodeRep.
PtrBlock<TableExprNodeRep*> casa::TableExprNodeMulti::operands_p [protected] |
Definition at line 634 of file ExprNodeRep.h.
Referenced by getChildren(), casa::TableExprFuncNode::operands(), and casa::TableExprFuncNode::rwOperands().