Loading...
Searching...
No Matches
ExprLogicNode.h
Go to the documentation of this file.
//# ExprLogicNode.h: Nodes representing scalar logical operators in table select expression tree
//# Copyright (C) 1994,1995,1996,1997,1999,2000
//# Associated Universities, Inc. Washington DC, USA.
//#
//# This library is free software; you can redistribute it and/or modify it
//# under the terms of the GNU Library General Public License as published by
//# the Free Software Foundation; either version 2 of the License, or (at your
//# option) any later version.
//#
//# This library is distributed in the hope that it will be useful, but WITHOUT
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
//# License for more details.
//#
//# You should have received a copy of the GNU Library General Public License
//# along with this library; if not, write to the Free Software Foundation,
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
//#
//# Correspondence concerning AIPS++ should be addressed as follows:
//# Internet email: casa-feedback@nrao.edu.
//# Postal address: AIPS++ Project Office
//# National Radio Astronomy Observatory
//# 520 Edgemont Road
//# Charlottesville, VA 22903-2475 USA
#ifndef TABLES_EXPRLOGICNODE_H
#define TABLES_EXPRLOGICNODE_H
//# Includes
#include <casacore/casa/aips.h>
#include <casacore/tables/TaQL/ExprNodeRep.h>
#include <set>
namespace casacore { //# NAMESPACE CASACORE - BEGIN
//# This file defines classes derived from TableExprNode representing
//# the data type and operator in a table expression.
//#
//# Data types Bool, Int64, Double, DComplex and String are used.
//# Char, uChar, Short, uShort, Int, and uInt are converted to Int64,
//# Float to Double, and Complex to DComplex.
//# Binary operators ==, >=, >, <, <=, !=, and IN are recognized.
//# Also &&, ||, and unary ! are recognized.
// <summary>
// Bool comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQBool : public TableExprNodeBinary
{
public:
TableExprNodeEQBool (const TableExprNodeRep&);
~TableExprNodeEQBool() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Int comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQInt : public TableExprNodeBinary
{
public:
TableExprNodeEQInt (const TableExprNodeRep&);
~TableExprNodeEQInt() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Double comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQDouble : public TableExprNodeBinary
{
public:
TableExprNodeEQDouble (const TableExprNodeRep&);
~TableExprNodeEQDouble() = default;
Bool getBool (const TableExprId& id) override;
void ranges (Block<TableExprRange>&) override;
};
// <summary>
// DComplex comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQDComplex : public TableExprNodeBinary
{
public:
TableExprNodeEQDComplex (const TableExprNodeRep&);
~TableExprNodeEQDComplex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// String comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQString : public TableExprNodeBinary
{
public:
TableExprNodeEQString (const TableExprNodeRep&);
~TableExprNodeEQString() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Regex comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQRegex : public TableExprNodeBinary
{
public:
TableExprNodeEQRegex (const TableExprNodeRep&);
~TableExprNodeEQRegex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Date comparison == in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an == comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeEQDate : public TableExprNodeBinary
{
public:
TableExprNodeEQDate (const TableExprNodeRep&);
~TableExprNodeEQDate() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Bool comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNEBool : public TableExprNodeBinary
{
public:
TableExprNodeNEBool (const TableExprNodeRep&);
~TableExprNodeNEBool() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Int comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNEInt : public TableExprNodeBinary
{
public:
TableExprNodeNEInt (const TableExprNodeRep&);
~TableExprNodeNEInt() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Double comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNEDouble : public TableExprNodeBinary
{
public:
TableExprNodeNEDouble (const TableExprNodeRep&);
~TableExprNodeNEDouble() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// DComplex comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNEDComplex : public TableExprNodeBinary
{
public:
TableExprNodeNEDComplex (const TableExprNodeRep&);
~TableExprNodeNEDComplex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// String comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNEString : public TableExprNodeBinary
{
public:
TableExprNodeNEString (const TableExprNodeRep&);
~TableExprNodeNEString() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Regex comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNERegex : public TableExprNodeBinary
{
public:
TableExprNodeNERegex (const TableExprNodeRep&);
~TableExprNodeNERegex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Date comparison != in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an != comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeNEDate : public TableExprNodeBinary
{
public:
TableExprNodeNEDate (const TableExprNodeRep&);
~TableExprNodeNEDate() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Int comparison > in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an > comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGTInt : public TableExprNodeBinary
{
public:
TableExprNodeGTInt (const TableExprNodeRep&);
~TableExprNodeGTInt() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Double comparison > in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an > comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGTDouble : public TableExprNodeBinary
{
public:
TableExprNodeGTDouble (const TableExprNodeRep&);
~TableExprNodeGTDouble() = default;
Bool getBool (const TableExprId& id) override;
void ranges (Block<TableExprRange>&) override;
};
// <summary>
// DComplex comparison > in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an > comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGTDComplex : public TableExprNodeBinary
{
public:
TableExprNodeGTDComplex (const TableExprNodeRep&);
~TableExprNodeGTDComplex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// String comparison > in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an > comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGTString : public TableExprNodeBinary
{
public:
TableExprNodeGTString (const TableExprNodeRep&);
~TableExprNodeGTString() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Date comparison > in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an > comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGTDate : public TableExprNodeBinary
{
public:
TableExprNodeGTDate (const TableExprNodeRep&);
~TableExprNodeGTDate() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Int comparison >= in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an >= comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGEInt : public TableExprNodeBinary
{
public:
TableExprNodeGEInt (const TableExprNodeRep&);
~TableExprNodeGEInt() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Double comparison >= in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an >= comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGEDouble : public TableExprNodeBinary
{
public:
TableExprNodeGEDouble (const TableExprNodeRep&);
~TableExprNodeGEDouble() = default;
Bool getBool (const TableExprId& id) override;
void ranges (Block<TableExprRange>&) override;
};
// <summary>
// DComplex comparison >= in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an >= comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGEDComplex : public TableExprNodeBinary
{
public:
TableExprNodeGEDComplex (const TableExprNodeRep&);
~TableExprNodeGEDComplex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// String comparison >= in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an >= comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGEString : public TableExprNodeBinary
{
public:
TableExprNodeGEString (const TableExprNodeRep&);
~TableExprNodeGEString() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Date comparison >= in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an >= comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeGEDate : public TableExprNodeBinary
{
public:
TableExprNodeGEDate (const TableExprNodeRep&);
~TableExprNodeGEDate() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Int comparison IN in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an IN comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// The right hand side can be optimized if it contains a constant array which
// can be replaced by an std::unordered_set<Int64> or a Block<Bool>.
// </synopsis>
class TableExprNodeINInt : public TableExprNodeBinary
{
public:
// <src>doTracing</src> is not used.
TableExprNodeINInt (const TableExprNodeRep&, Bool doTracing=False);
~TableExprNodeINInt() = default;
void optimize() override;
static void doOptimize (TENShPtr& rnode);
Bool getBool (const TableExprId& id) override;
private:
};
// <summary>
// Double comparison IN in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an IN comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// The right hand side can be optimized if it contains a constant set with
// bounded intervals.
// </synopsis>
class TableExprNodeINDouble : public TableExprNodeBinary
{
public:
TableExprNodeINDouble (const TableExprNodeRep&);
~TableExprNodeINDouble() = default;
void optimize() override;
static void doOptimize (TENShPtr& rnode);
Bool getBool (const TableExprId& id) override;
};
// <summary>
// DComplex comparison IN in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an IN comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeINDComplex : public TableExprNodeBinary
{
public:
TableExprNodeINDComplex (const TableExprNodeRep&);
~TableExprNodeINDComplex() = default;
Bool getBool (const TableExprId& id) override;
};
// <summary>
// String comparison IN in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an IN comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// The right hand side can be optimized if it contains a constant array which
// can be replaced by an std::unordered_set<String>
// </synopsis>
class TableExprNodeINString : public TableExprNodeBinary
{
public:
TableExprNodeINString (const TableExprNodeRep&);
~TableExprNodeINString() = default;
void optimize() override;
static void doOptimize (TENShPtr& rnode);
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Date comparison IN in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents an IN comparison in a table select expression tree.
// This is defined for all data types.
// Only the Bool get function is defined, because the result of a
// compare is always a Bool.
// </synopsis>
class TableExprNodeINDate : public TableExprNodeBinary
{
public:
TableExprNodeINDate (const TableExprNodeRep&);
~TableExprNodeINDate() = default;
void optimize() override;
static void doOptimize (TENShPtr& rnode);
Bool getBool (const TableExprId& id) override;
};
// <summary>
// Logical or in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents a logical or in a table select expression tree.
// This is defined for Bool only.
// </synopsis>
class TableExprNodeOR : public TableExprNodeBinary
{
public:
TableExprNodeOR (const TableExprNodeRep&);
~TableExprNodeOR() = default;
Bool getBool (const TableExprId& id) override;
void ranges (Block<TableExprRange>&) override;
};
// <summary>
// Logical and in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents a logical and in a table select expression tree.
// This is defined for Bool only.
// </synopsis>
class TableExprNodeAND: public TableExprNodeBinary
{
public:
TableExprNodeAND (const TableExprNodeRep&);
~TableExprNodeAND() = default;
Bool getBool (const TableExprId& id) override;
void ranges (Block<TableExprRange>&) override;
};
// <summary>
// Logical not in table select expression tree
// </summary>
// <use visibility=local>
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
// </reviewed>
// <prerequisite>
//# Classes you should understand before using this one.
// <li> TableExprNode
// </prerequisite>
// <synopsis>
// This class represents a logical not in a table select expression tree.
// This is defined for Bool only.
// </synopsis>
class TableExprNodeNOT: public TableExprNodeBinary
{
public:
TableExprNodeNOT (const TableExprNodeRep&);
~TableExprNodeNOT() = default;
Bool getBool (const TableExprId& id) override;
};
} //# NAMESPACE CASACORE - END
#endif
casacore::Block
Definition Block.h:140
casacore::TableExprId
Definition TableExprId.h:95
casacore::TableExprNodeAND::~TableExprNodeAND
~TableExprNodeAND()=default
casacore::TableExprNodeAND::ranges
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
casacore::TableExprNodeAND::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeAND::TableExprNodeAND
TableExprNodeAND(const TableExprNodeRep &)
casacore::TableExprNodeBinary::TableExprNodeBinary
TableExprNodeBinary(NodeDataType, ValueType, OperType, ExprType)
Constructor.
casacore::TableExprNodeEQBool::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQBool::~TableExprNodeEQBool
~TableExprNodeEQBool()=default
casacore::TableExprNodeEQBool::TableExprNodeEQBool
TableExprNodeEQBool(const TableExprNodeRep &)
casacore::TableExprNodeEQDComplex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQDComplex::TableExprNodeEQDComplex
TableExprNodeEQDComplex(const TableExprNodeRep &)
casacore::TableExprNodeEQDComplex::~TableExprNodeEQDComplex
~TableExprNodeEQDComplex()=default
casacore::TableExprNodeEQDate::TableExprNodeEQDate
TableExprNodeEQDate(const TableExprNodeRep &)
casacore::TableExprNodeEQDate::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQDate::~TableExprNodeEQDate
~TableExprNodeEQDate()=default
casacore::TableExprNodeEQDouble::ranges
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
casacore::TableExprNodeEQDouble::~TableExprNodeEQDouble
~TableExprNodeEQDouble()=default
casacore::TableExprNodeEQDouble::TableExprNodeEQDouble
TableExprNodeEQDouble(const TableExprNodeRep &)
casacore::TableExprNodeEQDouble::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQInt::~TableExprNodeEQInt
~TableExprNodeEQInt()=default
casacore::TableExprNodeEQInt::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQInt::TableExprNodeEQInt
TableExprNodeEQInt(const TableExprNodeRep &)
casacore::TableExprNodeEQRegex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQRegex::~TableExprNodeEQRegex
~TableExprNodeEQRegex()=default
casacore::TableExprNodeEQRegex::TableExprNodeEQRegex
TableExprNodeEQRegex(const TableExprNodeRep &)
casacore::TableExprNodeEQString::TableExprNodeEQString
TableExprNodeEQString(const TableExprNodeRep &)
casacore::TableExprNodeEQString::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeEQString::~TableExprNodeEQString
~TableExprNodeEQString()=default
casacore::TableExprNodeGEDComplex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGEDComplex::TableExprNodeGEDComplex
TableExprNodeGEDComplex(const TableExprNodeRep &)
casacore::TableExprNodeGEDComplex::~TableExprNodeGEDComplex
~TableExprNodeGEDComplex()=default
casacore::TableExprNodeGEDate::~TableExprNodeGEDate
~TableExprNodeGEDate()=default
casacore::TableExprNodeGEDate::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGEDate::TableExprNodeGEDate
TableExprNodeGEDate(const TableExprNodeRep &)
casacore::TableExprNodeGEDouble::~TableExprNodeGEDouble
~TableExprNodeGEDouble()=default
casacore::TableExprNodeGEDouble::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGEDouble::ranges
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
casacore::TableExprNodeGEDouble::TableExprNodeGEDouble
TableExprNodeGEDouble(const TableExprNodeRep &)
casacore::TableExprNodeGEInt::~TableExprNodeGEInt
~TableExprNodeGEInt()=default
casacore::TableExprNodeGEInt::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGEInt::TableExprNodeGEInt
TableExprNodeGEInt(const TableExprNodeRep &)
casacore::TableExprNodeGEString::~TableExprNodeGEString
~TableExprNodeGEString()=default
casacore::TableExprNodeGEString::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGEString::TableExprNodeGEString
TableExprNodeGEString(const TableExprNodeRep &)
casacore::TableExprNodeGTDComplex::TableExprNodeGTDComplex
TableExprNodeGTDComplex(const TableExprNodeRep &)
casacore::TableExprNodeGTDComplex::~TableExprNodeGTDComplex
~TableExprNodeGTDComplex()=default
casacore::TableExprNodeGTDComplex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGTDate::~TableExprNodeGTDate
~TableExprNodeGTDate()=default
casacore::TableExprNodeGTDate::TableExprNodeGTDate
TableExprNodeGTDate(const TableExprNodeRep &)
casacore::TableExprNodeGTDate::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGTDouble::~TableExprNodeGTDouble
~TableExprNodeGTDouble()=default
casacore::TableExprNodeGTDouble::ranges
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
casacore::TableExprNodeGTDouble::TableExprNodeGTDouble
TableExprNodeGTDouble(const TableExprNodeRep &)
casacore::TableExprNodeGTDouble::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGTInt::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGTInt::TableExprNodeGTInt
TableExprNodeGTInt(const TableExprNodeRep &)
casacore::TableExprNodeGTInt::~TableExprNodeGTInt
~TableExprNodeGTInt()=default
casacore::TableExprNodeGTString::TableExprNodeGTString
TableExprNodeGTString(const TableExprNodeRep &)
casacore::TableExprNodeGTString::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeGTString::~TableExprNodeGTString
~TableExprNodeGTString()=default
casacore::TableExprNodeINDComplex::TableExprNodeINDComplex
TableExprNodeINDComplex(const TableExprNodeRep &)
casacore::TableExprNodeINDComplex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeINDComplex::~TableExprNodeINDComplex
~TableExprNodeINDComplex()=default
casacore::TableExprNodeINDate::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeINDate::optimize
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
casacore::TableExprNodeINDate::~TableExprNodeINDate
~TableExprNodeINDate()=default
casacore::TableExprNodeINDate::TableExprNodeINDate
TableExprNodeINDate(const TableExprNodeRep &)
casacore::TableExprNodeINDate::doOptimize
static void doOptimize(TENShPtr &rnode)
casacore::TableExprNodeINDouble::doOptimize
static void doOptimize(TENShPtr &rnode)
casacore::TableExprNodeINDouble::optimize
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
casacore::TableExprNodeINDouble::TableExprNodeINDouble
TableExprNodeINDouble(const TableExprNodeRep &)
casacore::TableExprNodeINDouble::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeINDouble::~TableExprNodeINDouble
~TableExprNodeINDouble()=default
casacore::TableExprNodeINInt::~TableExprNodeINInt
~TableExprNodeINInt()=default
casacore::TableExprNodeINInt::TableExprNodeINInt
TableExprNodeINInt(const TableExprNodeRep &, Bool doTracing=False)
doTracing is not used.
casacore::TableExprNodeINInt::optimize
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
casacore::TableExprNodeINInt::doOptimize
static void doOptimize(TENShPtr &rnode)
casacore::TableExprNodeINInt::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeINString::TableExprNodeINString
TableExprNodeINString(const TableExprNodeRep &)
casacore::TableExprNodeINString::optimize
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
casacore::TableExprNodeINString::~TableExprNodeINString
~TableExprNodeINString()=default
casacore::TableExprNodeINString::doOptimize
static void doOptimize(TENShPtr &rnode)
casacore::TableExprNodeINString::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNEBool::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNEBool::~TableExprNodeNEBool
~TableExprNodeNEBool()=default
casacore::TableExprNodeNEBool::TableExprNodeNEBool
TableExprNodeNEBool(const TableExprNodeRep &)
casacore::TableExprNodeNEDComplex::~TableExprNodeNEDComplex
~TableExprNodeNEDComplex()=default
casacore::TableExprNodeNEDComplex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNEDComplex::TableExprNodeNEDComplex
TableExprNodeNEDComplex(const TableExprNodeRep &)
casacore::TableExprNodeNEDate::~TableExprNodeNEDate
~TableExprNodeNEDate()=default
casacore::TableExprNodeNEDate::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNEDate::TableExprNodeNEDate
TableExprNodeNEDate(const TableExprNodeRep &)
casacore::TableExprNodeNEDouble::~TableExprNodeNEDouble
~TableExprNodeNEDouble()=default
casacore::TableExprNodeNEDouble::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNEDouble::TableExprNodeNEDouble
TableExprNodeNEDouble(const TableExprNodeRep &)
casacore::TableExprNodeNEInt::~TableExprNodeNEInt
~TableExprNodeNEInt()=default
casacore::TableExprNodeNEInt::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNEInt::TableExprNodeNEInt
TableExprNodeNEInt(const TableExprNodeRep &)
casacore::TableExprNodeNERegex::TableExprNodeNERegex
TableExprNodeNERegex(const TableExprNodeRep &)
casacore::TableExprNodeNERegex::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNERegex::~TableExprNodeNERegex
~TableExprNodeNERegex()=default
casacore::TableExprNodeNEString::TableExprNodeNEString
TableExprNodeNEString(const TableExprNodeRep &)
casacore::TableExprNodeNEString::~TableExprNodeNEString
~TableExprNodeNEString()=default
casacore::TableExprNodeNEString::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNOT::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeNOT::TableExprNodeNOT
TableExprNodeNOT(const TableExprNodeRep &)
casacore::TableExprNodeNOT::~TableExprNodeNOT
~TableExprNodeNOT()=default
casacore::TableExprNodeOR::TableExprNodeOR
TableExprNodeOR(const TableExprNodeRep &)
casacore::TableExprNodeOR::getBool
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
casacore::TableExprNodeOR::ranges
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
casacore::TableExprNodeOR::~TableExprNodeOR
~TableExprNodeOR()=default
casacore::TableExprNodeRep
Abstract base class for a node in a table column expression tree.
Definition ExprNodeRep.h:202
casacore
this file contains all the compiler specific defines
Definition mainpage.dox:28
casacore::False
const Bool False
Definition aipstype.h:42
casacore::TENShPtr
std::shared_ptr< TableExprNodeRep > TENShPtr
Definition ExprNodeRep.h:55
casacore::Bool
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40