casacore
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
casacore::TaQLBinaryNodeRep Class Reference

Raw TaQL parse tree node defining a binary operator. More...

#include <TaQLNodeDer.h>

Public Types

enum  Type {
  B_PLUS,
  B_MINUS,
  B_TIMES,
  B_DIVIDE,
  B_MODULO,
  B_POWER,
  B_EQ,
  B_NE,
  B_GT,
  B_GE,
  B_LT,
  B_LE,
  B_OR,
  B_AND,
  B_IN,
  B_INDEX,
  B_DIVIDETRUNC,
  B_EQREGEX,
  B_NEREGEX,
  B_BITAND,
  B_BITXOR,
  B_BITOR
}
 Do not change the values of this enum, as objects might be persistent. More...
 

Public Member Functions

 TaQLBinaryNodeRep (Type type, const TaQLNode &left, const TaQLNode &right)
 
virtual ~TaQLBinaryNodeRep ()
 
virtual TaQLNodeResult visit (TaQLNodeVisitor &) const
 Visit a node for tree traversal. More...
 
virtual void show (std::ostream &os) const
 Print the object in an ostream. More...
 
virtual void save (AipsIO &aio) const
 Save the object. More...
 
- Public Member Functions inherited from casacore::TaQLNodeRep
 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...
 
String addEscape (const String &str) const
 Add escape characters to a table name where needed. More...
 

Static Public Member Functions

static TaQLBinaryNodeReprestore (AipsIO &aio)
 
static TaQLBinaryNodeRephandleRegex (const TaQLNode &left, const TaQLRegexNode &regex)
 Handle a comparison wih a regex. More...
 
- Static Public Member Functions inherited from casacore::TaQLNodeRep
static String checkDataType (const String &)
 Check the data type string and return its standard form. More...
 

Public Attributes

Type itsType
 
TaQLNode itsLeft
 
TaQLNode itsRight
 

Detailed Description

Raw TaQL parse tree node defining a binary operator.

Intended use:

Internal

Review Status

Test programs:
tTaQLNode

Prerequisite

Synopsis

This class is a TaQLNodeRep holding a binary operator and operands. All standard mathematical (including % and ^), relational, bit, and logical operators are supported. Furthermore operator IN and the INDEX operator (for indexing in an array) are supported.

Definition at line 194 of file TaQLNodeDer.h.

Member Enumeration Documentation

◆ Type

Do not change the values of this enum, as objects might be persistent.

Enumerator
B_PLUS 
B_MINUS 
B_TIMES 
B_DIVIDE 
B_MODULO 
B_POWER 
B_EQ 
B_NE 
B_GT 
B_GE 
B_LT 
B_LE 
B_OR 
B_AND 
B_IN 
B_INDEX 
B_DIVIDETRUNC 
B_EQREGEX 
B_NEREGEX 
B_BITAND 
B_BITXOR 
B_BITOR 

Definition at line 198 of file TaQLNodeDer.h.

Constructor & Destructor Documentation

◆ TaQLBinaryNodeRep()

casacore::TaQLBinaryNodeRep::TaQLBinaryNodeRep ( Type  type,
const TaQLNode left,
const TaQLNode right 
)

◆ ~TaQLBinaryNodeRep()

virtual casacore::TaQLBinaryNodeRep::~TaQLBinaryNodeRep ( )
virtual

Member Function Documentation

◆ handleRegex()

static TaQLBinaryNodeRep* casacore::TaQLBinaryNodeRep::handleRegex ( const TaQLNode left,
const TaQLRegexNode regex 
)
static

Handle a comparison wih a regex.

The operator (~ or !~) is extracted from the regex.

◆ restore()

static TaQLBinaryNodeRep* casacore::TaQLBinaryNodeRep::restore ( AipsIO aio)
static

◆ save()

virtual void casacore::TaQLBinaryNodeRep::save ( AipsIO aio) const
virtual

Save the object.

Implements casacore::TaQLNodeRep.

◆ show()

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

Print the object in an ostream.

Implements casacore::TaQLNodeRep.

◆ visit()

virtual TaQLNodeResult casacore::TaQLBinaryNodeRep::visit ( TaQLNodeVisitor ) const
virtual

Visit a node for tree traversal.

Implements casacore::TaQLNodeRep.

Member Data Documentation

◆ itsLeft

TaQLNode casacore::TaQLBinaryNodeRep::itsLeft

Definition at line 232 of file TaQLNodeDer.h.

◆ itsRight

TaQLNode casacore::TaQLBinaryNodeRep::itsRight

Definition at line 233 of file TaQLNodeDer.h.

◆ itsType

Type casacore::TaQLBinaryNodeRep::itsType

Definition at line 231 of file TaQLNodeDer.h.


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