casacore::TableExprNodeMulti Class Reference

Abstract base class for a node having multiple child nodes. More...

#include <ExprNodeRep.h>

Inheritance diagram for casacore::TableExprNodeMulti:
casacore::TableExprNodeRep casacore::TableExprFuncNode casacore::TableExprNodeIndex casacore::TableExprUDFNode casacore::TableExprAggrNode casacore::TableExprConeNode

List of all members.

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.
virtual void getAggrNodes (vector< TableExprNodeRep * > &aggr)
 Get the nodes representing an aggregate function.
virtual void getColumnNodes (vector< TableExprNodeRep * > &cols)
 Get the nodes representing a table column.
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

Detailed Description

Abstract base class for a node having multiple child nodes.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

TableExprNodeMulti is a node in the table expression tree which can have MULTIple child nodes.

Synopsis

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.\.

Motivation

This class contains the common functionality for the classes representing a node with multiple operands.

Definition at line 660 of file ExprNodeRep.h.


Constructor & Destructor Documentation

casacore::TableExprNodeMulti::TableExprNodeMulti ( NodeDataType  ,
ValueType  ,
OperType  ,
const TableExprNodeRep source 
)

Constructor.

virtual casacore::TableExprNodeMulti::~TableExprNodeMulti (  )  [virtual]

Destructor.


Member Function Documentation

static NodeDataType casacore::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 casacore::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.

virtual void casacore::TableExprNodeMulti::getAggrNodes ( vector< TableExprNodeRep * > &  aggr  )  [virtual]

Get the nodes representing an aggregate function.

Reimplemented in casacore::TableExprAggrNode, and casacore::TableExprUDFNode.

const PtrBlock<TableExprNodeRep*>& casacore::TableExprNodeMulti::getChildren (  )  const [inline]

Get the child nodes.

Definition at line 686 of file ExprNodeRep.h.

References operands_p.

virtual void casacore::TableExprNodeMulti::getColumnNodes ( vector< TableExprNodeRep * > &  cols  )  [virtual]

Get the nodes representing a table column.

Reimplemented in casacore::TableExprUDFNode.

virtual void casacore::TableExprNodeMulti::show ( ostream &  ,
uInt  indent 
) const [virtual]

Show the expression tree.

Reimplemented from casacore::TableExprNodeRep.


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1