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 TaQLNodeResult visit (TaQLNodeVisitor &) const override
 Visit a node for tree traversal. More...
 
virtual void show (std::ostream &os) const override
 Print the object in an ostream. More...
 
virtual void save (AipsIO &aio) const override
 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 TaQLNode restore (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 191 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 195 of file TaQLNodeDer.h.

Constructor & Destructor Documentation

◆ TaQLBinaryNodeRep()

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

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 TaQLNode casacore::TaQLBinaryNodeRep::restore ( AipsIO aio)
static

◆ save()

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

Save the object.

Implements casacore::TaQLNodeRep.

◆ show()

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

Print the object in an ostream.

Implements casacore::TaQLNodeRep.

◆ visit()

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

Visit a node for tree traversal.

Implements casacore::TaQLNodeRep.

Member Data Documentation

◆ itsLeft

TaQLNode casacore::TaQLBinaryNodeRep::itsLeft

Definition at line 228 of file TaQLNodeDer.h.

◆ itsRight

TaQLNode casacore::TaQLBinaryNodeRep::itsRight

Definition at line 229 of file TaQLNodeDer.h.

◆ itsType

Type casacore::TaQLBinaryNodeRep::itsType

Definition at line 227 of file TaQLNodeDer.h.


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