casa
$Rev:20696$
|
Class representing a cone search in table select expression. More...
#include <ExprConeNode.h>
Public Member Functions | |
TableExprConeNode (FunctionType, NodeDataType, ValueType, 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) |
Array< Bool > | getArrayBool (const TableExprId &id) |
Get an array value for this node in the given row. | |
Array< Int64 > | getArrayInt (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 66 of file ExprConeNode.h.
casa::TableExprConeNode::TableExprConeNode | ( | FunctionType | , |
NodeDataType | , | ||
ValueType | , | ||
const TableExprNodeSet & | source, | ||
uInt | origin | ||
) |
Constructor.
Destructor.
static NodeDataType casa::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 casa::TableExprFuncNode.
static void casa::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.
static TableExprNodeRep* casa::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.
static Int casa::TableExprConeNode::findNelem | ( | const TableExprNodeRep * | node | ) | [static, private] |
Find the number of elements in an argument.
It returns -1 if unknown.
Array<Bool> casa::TableExprConeNode::getArrayBool | ( | const TableExprId & | id | ) | [virtual] |
Get an array value for this node in the given row.
The appropriate functions are implemented in the derived classes and will usually invoke the get in their children and apply the operator on the resulting values.
Reimplemented from casa::TableExprNodeRep.
Array<Int64> casa::TableExprConeNode::getArrayInt | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casa::TableExprNodeRep.
Bool casa::TableExprConeNode::getBool | ( | const TableExprId & | id | ) | [virtual] |
'get' Functions to get the desired result of a function.
Reimplemented from casa::TableExprFuncNode.
Int64 casa::TableExprConeNode::getInt | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casa::TableExprFuncNode.
void casa::TableExprConeNode::tryToConst | ( | ) | [private] |
Try if the function gives a constant result.
If so, set the expression type to Constant.
Reimplemented from casa::TableExprFuncNode.
uInt casa::TableExprConeNode::origin_p [private] |
Definition at line 117 of file ExprConeNode.h.