casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::TaQLNodeRep Class Referenceabstract

Representation of a node in the raw TaQL parse tree. More...

#include <TaQLNodeRep.h>

Inheritance diagram for casacore::TaQLNodeRep:
casacore::TaQLAddColNodeRep casacore::TaQLAddRowNodeRep casacore::TaQLBinaryNodeRep casacore::TaQLCalcNodeRep casacore::TaQLColNodeRep casacore::TaQLColSpecNodeRep casacore::TaQLColumnsNodeRep casacore::TaQLConstNodeRep casacore::TaQLCopyColNodeRep casacore::TaQLDeleteNodeRep casacore::TaQLDropTabNodeRep casacore::TaQLFuncNodeRep casacore::TaQLGivingNodeRep casacore::TaQLGroupNodeRep casacore::TaQLIndexNodeRep casacore::TaQLInsertNodeRep casacore::TaQLJoinNodeRep casacore::TaQLKeyColNodeRep casacore::TaQLLimitOffNodeRep casacore::TaQLMultiNodeRep casacore::TaQLQueryNodeRep casacore::TaQLRangeNodeRep casacore::TaQLRecFldNodeRep casacore::TaQLRegexNodeRep casacore::TaQLRenDropNodeRep casacore::TaQLSetKeyNodeRep casacore::TaQLShowNodeRep casacore::TaQLSortKeyNodeRep casacore::TaQLSortNodeRep casacore::TaQLTableNodeRep casacore::TaQLUnaryNodeRep casacore::TaQLUnitNodeRep casacore::TaQLUpdateNodeRep casacore::TaQLUpdExprNodeRep

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 TaQLStylestyle () 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...
 
TaQLNodeRepoperator= (const TaQLNodeRep &)
 

Private Attributes

char itsNodeType
 
TaQLStyle itsStyle
 

Detailed Description

Representation of a node in the raw TaQL parse tree.

Intended use:

Internal

Review Status

Test programs:
tTaQLNode

Prerequisite

Synopsis

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

Motivation

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.

Constructor & Destructor Documentation

casacore::TaQLNodeRep::TaQLNodeRep ( int  nodeType)
explicit

Constructor for derived classes specifying the type.

virtual casacore::TaQLNodeRep::~TaQLNodeRep ( )
virtual
casacore::TaQLNodeRep::TaQLNodeRep ( const TaQLNodeRep )
private

Letter objects cannot be copied.

Member Function Documentation

String casacore::TaQLNodeRep::addEscape ( const String str) const

Add escape characters to a table name where needed.

static String casacore::TaQLNodeRep::checkDataType ( const String )
static

Check the data type string and return its standard form.

char casacore::TaQLNodeRep::nodeType ( ) const
inline

Get the node type of the derived class.

Definition at line 130 of file TaQLNodeRep.h.

References itsNodeType.

TaQLNodeRep& casacore::TaQLNodeRep::operator= ( const TaQLNodeRep )
private
virtual void casacore::TaQLNodeRep::save ( AipsIO aio) const
pure virtual
virtual void casacore::TaQLNodeRep::show ( std::ostream &  os) const
pure virtual
const TaQLStyle& casacore::TaQLNodeRep::style ( ) const
inline

Get the TaQL style.

Definition at line 134 of file TaQLNodeRep.h.

References itsStyle.

virtual TaQLNodeResult casacore::TaQLNodeRep::visit ( TaQLNodeVisitor ) const
pure virtual

Member Data Documentation

char casacore::TaQLNodeRep::itsNodeType
private

Definition at line 159 of file TaQLNodeRep.h.

Referenced by nodeType().

TaQLStyle casacore::TaQLNodeRep::itsStyle
private

Definition at line 160 of file TaQLNodeRep.h.

Referenced by style().


The documentation for this class was generated from the following file: