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... | |
String | addEscape (const String &str) const |
Add escape characters to a table name where needed. 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.
|
virtual |
|
private |
Letter objects cannot be copied.
Add escape characters to a table name where needed.
Check the data type string and return its standard form.
|
inline |
Get the node type of the derived class.
Definition at line 130 of file TaQLNodeRep.h.
References itsNodeType.
|
private |
|
pure virtual |
Save the object.
Implemented in casacore::TaQLDropTabNodeRep, casacore::TaQLCopyColNodeRep, 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.
|
pure virtual |
Print the object in an ostream.
Implemented in casacore::TaQLDropTabNodeRep, casacore::TaQLCopyColNodeRep, 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.
|
inline |
|
pure virtual |
Visit a node for tree traversal.
Implemented in casacore::TaQLDropTabNodeRep, casacore::TaQLCopyColNodeRep, 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.
|
private |
Definition at line 159 of file TaQLNodeRep.h.
Referenced by nodeType().
|
private |
Definition at line 160 of file TaQLNodeRep.h.
Referenced by style().