casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
casa::TaQLNodeRep Class Reference

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

#include <TaQLNodeRep.h>

Inheritance diagram for casa::TaQLNodeRep:
casa::TaQLBinaryNodeRep casa::TaQLCalcNodeRep casa::TaQLColNodeRep casa::TaQLColSpecNodeRep casa::TaQLColumnsNodeRep casa::TaQLConstNodeRep casa::TaQLCreTabNodeRep casa::TaQLDeleteNodeRep casa::TaQLFuncNodeRep casa::TaQLGivingNodeRep casa::TaQLIndexNodeRep casa::TaQLInsertNodeRep casa::TaQLJoinNodeRep casa::TaQLKeyColNodeRep casa::TaQLLimitOffNodeRep casa::TaQLMultiNodeRep casa::TaQLQueryNodeRep casa::TaQLRangeNodeRep casa::TaQLRecFldNodeRep casa::TaQLRegexNodeRep casa::TaQLSortKeyNodeRep casa::TaQLSortNodeRep casa::TaQLTableNodeRep casa::TaQLUnaryNodeRep casa::TaQLUnitNodeRep casa::TaQLUpdateNodeRep casa::TaQLUpdExprNodeRep

List of all members.

Public Member Functions

 TaQLNodeRep (int nodeType)
 Constructor for derived classes specifying the type.
virtual ~TaQLNodeRep ()
char nodeType () const
 Get the node type of the derived class.
const TaQLStylestyle () 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.

Static Public Member Functions

static TaQLNodeReplink (TaQLNodeRep *rep)
 Increment the reference count.
static void unlink (TaQLNodeRep *rep)
 Decrement the reference count.
static String checkDataType (const String &)
 Check the data type string and return its standard form.

Private Member Functions

 TaQLNodeRep (const TaQLNodeRep &)
 Letter objects cannot be copied.
TaQLNodeRepoperator= (const TaQLNodeRep &)

Private Attributes

int itsCount
 
   

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

casa::TaQLNodeRep::TaQLNodeRep ( int  nodeType) [explicit]

Constructor for derived classes specifying the type.

virtual casa::TaQLNodeRep::~TaQLNodeRep ( ) [virtual]

Letter objects cannot be copied.


Member Function Documentation

static String casa::TaQLNodeRep::checkDataType ( const String ) [static]

Check the data type string and return its standard form.

static TaQLNodeRep* casa::TaQLNodeRep::link ( TaQLNodeRep rep) [inline, static]

Increment the reference count.

Definition at line 120 of file TaQLNodeRep.h.

References itsCount.

Referenced by casa::TaQLNode::operator=(), and casa::TaQLNode::TaQLNode().

char casa::TaQLNodeRep::nodeType ( ) const [inline]

Get the node type of the derived class.

Definition at line 134 of file TaQLNodeRep.h.

References itsNodeType.

Referenced by casa::TaQLNode::nodeType().

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

Get the TaQL style.

Definition at line 138 of file TaQLNodeRep.h.

References itsStyle.

Referenced by casa::TaQLNode::style().

static void casa::TaQLNodeRep::unlink ( TaQLNodeRep rep) [inline, static]

Decrement the reference count.

Delete the letter if no more references.

Definition at line 128 of file TaQLNodeRep.h.

References itsCount.

Referenced by casa::TaQLNode::operator=(), and casa::TaQLNode::~TaQLNode().

virtual TaQLNodeResult casa::TaQLNodeRep::visit ( TaQLNodeVisitor ) const [pure virtual]

Member Data Documentation

   

Definition at line 160 of file TaQLNodeRep.h.

Referenced by link(), and unlink().

Definition at line 161 of file TaQLNodeRep.h.

Referenced by nodeType().

Definition at line 162 of file TaQLNodeRep.h.

Referenced by style().


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