Class representing a cone search in table select expression. More...
#include <ExprConeNode.h>
Public Member Functions | |
TableExprConeNode (FunctionType, NodeDataType, const TableExprNodeSet &source, uInt origin) | |
Constructor. | |
~TableExprConeNode () | |
Destructor. | |
Bool | getBool (const TableExprId &id) |
'get' Functions to get the desired result of a function. | |
Int64 | getInt (const TableExprId &id) |
Static Public Member Functions | |
static NodeDataType | checkOperands (Block< Int > &dtypeOper, ValueType &resVT, Block< Int > &vtypeOper, FunctionType, PtrBlock< TableExprNodeRep * > &) |
Check the data and value types of the operands. | |
static TableExprNodeRep * | fillNode (TableExprConeNode *thisNode, PtrBlock< TableExprNodeRep * > &nodes, const Block< Int > &dtypeOper) |
Link the children to the node and convert the children to constants if possible. | |
static void | fillChildNodes (TableExprConeNode *thisNode, PtrBlock< TableExprNodeRep * > &nodes, const Block< Int > &dtypeOper) |
Link the children to the node and convert the children to constants if possible. | |
Private Member Functions | |
void | tryToConst () |
Try if the function gives a constant result. | |
Static Private Member Functions | |
static Int | findNelem (const TableExprNodeRep *node) |
Find the number of elements in an argument. | |
Private Attributes | |
uInt | origin_p |
Class representing a cone search in table select expression.
Internal
The class represents a cone search. It is a specialization of the TableExprFuncNode class. Currently the implementation is straightforward, but in the future it can do smarter things. For instance:
Definition at line 68 of file ExprConeNode.h.
casacore::TableExprConeNode::TableExprConeNode | ( | FunctionType | , | |
NodeDataType | , | |||
const TableExprNodeSet & | source, | |||
uInt | origin | |||
) |
Constructor.
casacore::TableExprConeNode::~TableExprConeNode | ( | ) |
Destructor.
static NodeDataType casacore::TableExprConeNode::checkOperands | ( | Block< Int > & | dtypeOper, | |
ValueType & | resVT, | |||
Block< Int > & | vtypeOper, | |||
FunctionType | , | |||
PtrBlock< TableExprNodeRep * > & | ||||
) | [static] |
Check the data and value types of the operands.
It sets the exptected data and value types of the operands. Set the value type of the function result and returns the data type of the function result.
Reimplemented from casacore::TableExprFuncNode.
static void casacore::TableExprConeNode::fillChildNodes | ( | TableExprConeNode * | thisNode, | |
PtrBlock< TableExprNodeRep * > & | nodes, | |||
const Block< Int > & | dtypeOper | |||
) | [static] |
Link the children to the node and convert the children to constants if possible.
Reimplemented from casacore::TableExprFuncNode.
static TableExprNodeRep* casacore::TableExprConeNode::fillNode | ( | TableExprConeNode * | thisNode, | |
PtrBlock< TableExprNodeRep * > & | nodes, | |||
const Block< Int > & | dtypeOper | |||
) | [static] |
Link the children to the node and convert the children to constants if possible.
Also convert the node to constant if possible.
Reimplemented from casacore::TableExprFuncNode.
static Int casacore::TableExprConeNode::findNelem | ( | const TableExprNodeRep * | node | ) | [static, private] |
Find the number of elements in an argument.
It returns -1 if unknown.
Bool casacore::TableExprConeNode::getBool | ( | const TableExprId & | id | ) | [virtual] |
'get' Functions to get the desired result of a function.
Reimplemented from casacore::TableExprFuncNode.
Int64 casacore::TableExprConeNode::getInt | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprFuncNode.
void casacore::TableExprConeNode::tryToConst | ( | ) | [private] |
Try if the function gives a constant result.
If so, set the expression type to Constant.
Reimplemented from casacore::TableExprFuncNode.
uInt casacore::TableExprConeNode::origin_p [private] |
Definition at line 117 of file ExprConeNode.h.