Loading...
Searching...
No Matches
casacore::TaQLNodeRep Class Referenceabstract
tables package (libcasa_tables) » TaQL_module » TaQL_module_internal_classes

More...

`#include <TaQLNodeRep.h>`

## Public Member Functions

| TaQLNodeRep (int nodeType)
| Constructor for derived classes specifying the type.
virtual | ~TaQLNodeRep ()
| TaQLNodeRep (const TaQLNodeRep &)=delete
| Letter objects cannot be copied.
TaQLNodeRep & | operator= (const TaQLNodeRep &)=delete
char | nodeType () const
| Get the node type of the derived class.
const TaQLStyle & | style () const
| Get the TaQL style.
virtual TaQLNodeResult | visit (TaQLNodeVisitor &) const =0
| Visit a node for tree traversal.
virtual void | show (std::ostream &os) const =0
| Print the object in an ostream.
virtual void | save (AipsIO &aio) const =0
| Save the object.
String | addEscape (const String &str) const
| Add escape characters to a table name where needed.

## Static Public Member Functions

static String | checkDataType (const String &)
| Check the data type string and return its standard form.

## 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

- TaQLNode
- Note 199 describing TaQL

### 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 74 of file TaQLNodeRep.h.

## Constructor & Destructor Documentation

## TaQLNodeRep() [1/2]

casacore::TaQLNodeRep::TaQLNodeRep | ( | int | nodeType | ) |

explicit

Constructor for derived classes specifying the type.

References nodeType().

Referenced by operator=(), and TaQLNodeRep().

## ~TaQLNodeRep()

virtual casacore::TaQLNodeRep::~TaQLNodeRep | ( |  | ) |

virtual

## TaQLNodeRep() [2/2]

casacore::TaQLNodeRep::TaQLNodeRep | ( | const TaQLNodeRep & |  | ) |

delete

Letter objects cannot be copied.

References TaQLNodeRep().

## Member Function Documentation

## addEscape()

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

Add escape characters to a table name where needed.

## checkDataType()

String casacore::TaQLNodeRep::checkDataType | ( | const String & |  | ) |

static

Check the data type string and return its standard form.

## nodeType()

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

inline

Get the node type of the derived class.

Definition at line 134 of file TaQLNodeRep.h.

References itsNodeType.

Referenced by TaQLNodeRep(), and casacore::TaQLQueryNodeRep::TaQLQueryNodeRep().

## operator=()

TaQLNodeRep & casacore::TaQLNodeRep::operator= | ( | const TaQLNodeRep & |  | ) |

delete

References TaQLNodeRep().

## save()

virtual void casacore::TaQLNodeRep::save | ( | AipsIO & | aio | ) | const

pure virtual

Save the object.

Implemented in casacore::TaQLAddColNodeRep, casacore::TaQLAddRowNodeRep, casacore::TaQLAltTabNodeRep, casacore::TaQLBinaryNodeRep, casacore::TaQLCalcNodeRep, casacore::TaQLColNodeRep, casacore::TaQLColSpecNodeRep, casacore::TaQLColumnsNodeRep, casacore::TaQLConcTabNodeRep, casacore::TaQLConstNodeRep, casacore::TaQLCopyColNodeRep, casacore::TaQLCountNodeRep, casacore::TaQLCreTabNodeRep, casacore::TaQLDeleteNodeRep, casacore::TaQLDropTabNodeRep, casacore::TaQLFuncNodeRep, casacore::TaQLGivingNodeRep, casacore::TaQLGroupNodeRep, casacore::TaQLIndexNodeRep, casacore::TaQLInsertNodeRep, casacore::TaQLJoinNodeRep, casacore::TaQLKeyColNodeRep, casacore::TaQLLimitOffNodeRep, casacore::TaQLMultiNodeRep, casacore::TaQLRangeNodeRep, casacore::TaQLRecFldNodeRep, casacore::TaQLRegexNodeRep, casacore::TaQLRenDropNodeRep, casacore::TaQLSelectNodeRep, casacore::TaQLSetKeyNodeRep, casacore::TaQLShowNodeRep, casacore::TaQLSortKeyNodeRep, casacore::TaQLSortNodeRep, casacore::TaQLTableNodeRep, casacore::TaQLUnaryNodeRep, casacore::TaQLUnitNodeRep, casacore::TaQLUpdateNodeRep, and casacore::TaQLUpdExprNodeRep.

## show()

virtual void casacore::TaQLNodeRep::show | ( | std::ostream & | os | ) | const

pure virtual

Print the object in an ostream.

Implemented in 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, and casacore::TaQLUpdExprNodeRep.

## style()

const TaQLStyle & casacore::TaQLNodeRep::style | ( |  | ) | const

inline

Get the TaQL style.

Definition at line 138 of file TaQLNodeRep.h.

References itsStyle.

## visit()

virtual TaQLNodeResult casacore::TaQLNodeRep::visit | ( | TaQLNodeVisitor & |  | ) | const

pure virtual

Visit a node for tree traversal.

Implemented in casacore::TaQLAddColNodeRep, casacore::TaQLAddRowNodeRep, casacore::TaQLAltTabNodeRep, casacore::TaQLBinaryNodeRep, casacore::TaQLCalcNodeRep, casacore::TaQLColNodeRep, casacore::TaQLColSpecNodeRep, casacore::TaQLColumnsNodeRep, casacore::TaQLConcTabNodeRep, casacore::TaQLConstNodeRep, casacore::TaQLCopyColNodeRep, casacore::TaQLCountNodeRep, casacore::TaQLCreTabNodeRep, casacore::TaQLDeleteNodeRep, casacore::TaQLDropTabNodeRep, casacore::TaQLFuncNodeRep, casacore::TaQLGivingNodeRep, casacore::TaQLGroupNodeRep, casacore::TaQLIndexNodeRep, casacore::TaQLInsertNodeRep, casacore::TaQLJoinNodeRep, casacore::TaQLKeyColNodeRep, casacore::TaQLLimitOffNodeRep, casacore::TaQLMultiNodeRep, casacore::TaQLRangeNodeRep, casacore::TaQLRecFldNodeRep, casacore::TaQLRegexNodeRep, casacore::TaQLRenDropNodeRep, casacore::TaQLSelectNodeRep, casacore::TaQLSetKeyNodeRep, casacore::TaQLShowNodeRep, casacore::TaQLSortKeyNodeRep, casacore::TaQLSortNodeRep, casacore::TaQLTableNodeRep, casacore::TaQLUnaryNodeRep, casacore::TaQLUnitNodeRep, casacore::TaQLUpdateNodeRep, and casacore::TaQLUpdExprNodeRep.

## Member Data Documentation

## itsNodeType

char casacore::TaQLNodeRep::itsNodeType

private

Definition at line 157 of file TaQLNodeRep.h.

Referenced by nodeType().

## itsStyle

TaQLStyle casacore::TaQLNodeRep::itsStyle

private

Definition at line 158 of file TaQLNodeRep.h.

Referenced by style().

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

- tables/TaQL/TaQLNodeRep.h