casacore
|
Representation of a node in the raw TaQL parse tree. More...
#include <TaQLNodeRep.h>
Public Member Functions | |
TaQLNodeRep (int nodeType) | |
Constructor for derived classes specifying the type. More... | |
virtual | ~TaQLNodeRep () |
char | nodeType () const |
Get the node type of the derived class. More... | |
const TaQLStyle & | style () const |
Get the TaQL style. More... | |
virtual TaQLNodeResult | visit (TaQLNodeVisitor &) const =0 |
Visit a node for tree traversal. More... | |
virtual void | show (std::ostream &os) const =0 |
Print the object in an ostream. More... | |
virtual void | save (AipsIO &aio) const =0 |
Save the object. More... | |
Static Public Member Functions | |
static String | checkDataType (const String &) |
Check the data type string and return its standard form. More... | |
Private Member Functions | |
TaQLNodeRep (const TaQLNodeRep &) | |
Letter objects cannot be copied. More... | |
TaQLNodeRep & | operator= (const TaQLNodeRep &) |
Private Attributes | |
char | itsNodeType |
TaQLStyle | itsStyle |
Representation of a node in the raw TaQL parse tree.
Internal
TaQLNode/TaQLNodeRep form an envelope/letter pair. TaQLNodeRep is the abstract base class for all classes used in the raw TaQL parse tree (e.g. TaQLConstNodeRep ).
The envelope/letter idiom (aka counted referencing) is a nice means to pass an object around by value, so to ensure that an object is deleted in case of an exception. Furthermore it makes copying an object very cheap and memory management straightforward.
Definition at line 76 of file TaQLNodeRep.h.
|
explicit |
Constructor for derived classes specifying the type.
Referenced by style().
|
virtual |
|
private |
Letter objects cannot be copied.
Check the data type string and return its standard form.
Referenced by style().
|
inline |
Get the node type of the derived class.
Definition at line 128 of file TaQLNodeRep.h.
References itsNodeType.
|
private |
Referenced by style().
|
pure virtual |
Save the object.
Implemented in casacore::TaQLShowNodeRep, casacore::TaQLConcTabNodeRep, casacore::TaQLAddRowNodeRep, casacore::TaQLSetKeyNodeRep, casacore::TaQLRenDropNodeRep, casacore::TaQLAddColNodeRep, casacore::TaQLAltTabNodeRep, casacore::TaQLUnitNodeRep, casacore::TaQLRecFldNodeRep, casacore::TaQLColSpecNodeRep, casacore::TaQLCreTabNodeRep, casacore::TaQLCalcNodeRep, casacore::TaQLDeleteNodeRep, casacore::TaQLInsertNodeRep, casacore::TaQLUpdateNodeRep, casacore::TaQLCountNodeRep, casacore::TaQLSelectNodeRep, casacore::TaQLUpdExprNodeRep, casacore::TaQLGivingNodeRep, casacore::TaQLLimitOffNodeRep, casacore::TaQLSortNodeRep, casacore::TaQLSortKeyNodeRep, casacore::TaQLGroupNodeRep, casacore::TaQLColumnsNodeRep, casacore::TaQLColNodeRep, casacore::TaQLTableNodeRep, casacore::TaQLKeyColNodeRep, casacore::TaQLJoinNodeRep, casacore::TaQLIndexNodeRep, casacore::TaQLRangeNodeRep, casacore::TaQLFuncNodeRep, casacore::TaQLMultiNodeRep, casacore::TaQLBinaryNodeRep, casacore::TaQLUnaryNodeRep, casacore::TaQLRegexNodeRep, and casacore::TaQLConstNodeRep.
Referenced by style().
|
pure virtual |
Print the object in an ostream.
Implemented in casacore::TaQLShowNodeRep, casacore::TaQLAddRowNodeRep, casacore::TaQLSetKeyNodeRep, casacore::TaQLRenDropNodeRep, casacore::TaQLAddColNodeRep, casacore::TaQLUnitNodeRep, casacore::TaQLRecFldNodeRep, casacore::TaQLColSpecNodeRep, casacore::TaQLCalcNodeRep, casacore::TaQLDeleteNodeRep, casacore::TaQLInsertNodeRep, casacore::TaQLUpdateNodeRep, casacore::TaQLQueryNodeRep, casacore::TaQLUpdExprNodeRep, casacore::TaQLGivingNodeRep, casacore::TaQLLimitOffNodeRep, casacore::TaQLSortNodeRep, casacore::TaQLSortKeyNodeRep, casacore::TaQLGroupNodeRep, casacore::TaQLColumnsNodeRep, casacore::TaQLColNodeRep, casacore::TaQLTableNodeRep, casacore::TaQLKeyColNodeRep, casacore::TaQLJoinNodeRep, casacore::TaQLIndexNodeRep, casacore::TaQLRangeNodeRep, casacore::TaQLFuncNodeRep, casacore::TaQLMultiNodeRep, casacore::TaQLBinaryNodeRep, casacore::TaQLUnaryNodeRep, casacore::TaQLRegexNodeRep, and casacore::TaQLConstNodeRep.
Referenced by style().
|
inline |
Get the TaQL style.
Definition at line 132 of file TaQLNodeRep.h.
References checkDataType(), itsStyle, operator=(), save(), show(), TaQLNodeRep(), and visit().
|
pure virtual |
Visit a node for tree traversal.
Implemented in casacore::TaQLShowNodeRep, casacore::TaQLConcTabNodeRep, casacore::TaQLAddRowNodeRep, casacore::TaQLSetKeyNodeRep, casacore::TaQLRenDropNodeRep, casacore::TaQLAddColNodeRep, casacore::TaQLAltTabNodeRep, casacore::TaQLUnitNodeRep, casacore::TaQLRecFldNodeRep, casacore::TaQLColSpecNodeRep, casacore::TaQLCreTabNodeRep, casacore::TaQLCalcNodeRep, casacore::TaQLDeleteNodeRep, casacore::TaQLInsertNodeRep, casacore::TaQLUpdateNodeRep, casacore::TaQLCountNodeRep, casacore::TaQLSelectNodeRep, casacore::TaQLUpdExprNodeRep, casacore::TaQLGivingNodeRep, casacore::TaQLLimitOffNodeRep, casacore::TaQLSortNodeRep, casacore::TaQLSortKeyNodeRep, casacore::TaQLGroupNodeRep, casacore::TaQLColumnsNodeRep, casacore::TaQLColNodeRep, casacore::TaQLTableNodeRep, casacore::TaQLKeyColNodeRep, casacore::TaQLJoinNodeRep, casacore::TaQLIndexNodeRep, casacore::TaQLRangeNodeRep, casacore::TaQLFuncNodeRep, casacore::TaQLMultiNodeRep, casacore::TaQLBinaryNodeRep, casacore::TaQLUnaryNodeRep, casacore::TaQLRegexNodeRep, and casacore::TaQLConstNodeRep.
Referenced by style().
|
private |
Definition at line 154 of file TaQLNodeRep.h.
Referenced by nodeType().
|
private |
Definition at line 155 of file TaQLNodeRep.h.
Referenced by style().