casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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>

Inheritance diagram for casacore::TaQLBinaryNodeRep:
casacore::TaQLNodeRep

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

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

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

Member Function Documentation

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.

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

Save the object.

Implements casacore::TaQLNodeRep.

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

Print the object in an ostream.

Implements casacore::TaQLNodeRep.

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

Visit a node for tree traversal.

Implements casacore::TaQLNodeRep.

Member Data Documentation

TaQLNode casacore::TaQLBinaryNodeRep::itsLeft

Definition at line 228 of file TaQLNodeDer.h.

TaQLNode casacore::TaQLBinaryNodeRep::itsRight

Definition at line 229 of file TaQLNodeDer.h.

Type casacore::TaQLBinaryNodeRep::itsType

Definition at line 227 of file TaQLNodeDer.h.


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