Class that represents a filter expression clause for import specifications. More...

#include <SPL/Runtime/Operator/Port/FilterExpression.h>

Detailed Description

Class that represents a filter expression clause for import specifications.

Member Typedef Documentation

Member Enumeration Documentation

Clause kind.

Enumerator
AndClause 

'sub1 ( && sub2 )*'

OrClause 

'sub1 ( || sub2 )*'

Predicate 

'symbol <op> literal' or 'symbol[subscript] <op> literal' where <op> != In or 'literal In symbol'

NotClause 

'! sub1'

Individual supported relative operations.

Enumerator
LessThan 

Less than.

LessEqual 

Less than or equal.

GreaterThan 

Greater than.

GreaterEqual 

Greater than or equal.

Equal 

Equal.

NotEqual 

Not equal.

In 

Contained.

None 

No operator.

Enumerator
NoArithmeticOp 

No arithmetic operator.

Mod 

Modulus.

BitOr 

Bitwise or.

BitAnd 

Bitwise and.

BitXor 

Bitwise exclusive or.

LeftShift 

Left shift.

RightShift 

Right shift.

Add 

Addition.

Sub 

Subtraction.

Mul 

Multiplication.

Div 

Division.

BNot 

Bitwise not.

Constructor & Destructor Documentation

Destructor

Member Function Documentation

Get the Op from the opName.

Get the opName from the Op.

Get the ArithmeticOp from the opName.

Get the opName from the ArithmeticOp.

Create a predicate clause ('symbol <op> literal' where <op> != In or 'literal In symbol')

Parameters
Returns
shared pointer to the predicate clause
Exceptions

Create a predicate clause with a subscript on the symbol ('symbol[subscript] <op> literal' where <op> != In)

Parameters
Returns
shared pointer to the predicate clause
Exceptions

Create a predicate clause ('symbol % int64Value <op> int64Value2' where <op> != In)

Parameters
Precondition
modDivisor != 0 && op != In
Returns
shared pointer to the predicate clause
Exceptions

Create a predicate clause with a subscript on the symbol Create a predicate clause ('symbol[subscript] % int64Value <op> int64Value2' where <op> != In)

Parameters
Precondition
modDivisor != 0
Returns
shared pointer to the predicate clause
Exceptions

Create an and-clause with one subclause

Parameters
Returns
shared pointer to and-clause with one subclause

Create an and-clause with two subclauses

Parameters
Returns
shared pointer to and-clause with two subclauses

Create an or-clause with one subclause

Parameters
Returns
shared pointer to or-clause with one subclause

Create an or-clause with two subclauses

Parameters
Returns
shared pointer to or-clause with two subclauses

Create a not-clause with one subclause

Parameters
Returns
shared pointer to not-clause with subclause

Create a filter expression from a string

Parameters
Returns
pointer to created FilterExpression or NULL if unable to form a valid expression

Get the string representation of the filter expression

Returns
string representation of the filter expression

Return the number of subclauses in an and/or-clause

Precondition
getKind() != Predicate
Returns
number of subclauses in the clause
Exceptions

Return a subclause of an and/or-clause

Precondition
getKind() != Predicate
index < getSize()
Parameters
Returns
subclause at the specified index
Exceptions

Return a subclause of an and/or-clause (const verstion) Note that this returns a const reference, not a shared pointer, which could cause problems if the original is removed while the returned value is being used.

Precondition
getKind() != Predicate
index < getSize()
Parameters
Returns
subclause at the specified index
Exceptions

Append a subclause to an and/or-clause

Precondition
getKind() != Predicate
Parameters
Exceptions

Remove a subclause from an and/or clause

Precondition
getKind() != Predicate
getSize() > 1
getSize() > index
Parameters
Exceptions

Get the kind of the filter expression (and clause, or clause, or a predicate)

Returns
kind of the filter expression

Return the symbol in a predicate clause

Precondition
getKind() == Predicate
Returns
symbol
Exceptions

Return the literal in a predicate

Precondition
getKind() == Predicate
Returns
literal
Exceptions

Return the operator in an predicate clause

Precondition
getKind() == Predicate
Returns
operation
Exceptions

Return true if the symbol in a predicate clause has a subscript

Precondition
getKind() == Predicate
Returns
true if the item has a subscript
Exceptions

Return subscript for the symbol in a predicate clause

Precondition
getKind() == Predicate && hasSubscript()
Returns
subscript value
Exceptions

Return true if the symbol in a predicate clause has a modulo divisor If there are multiple arithmetic operations, the result is undefined.

Precondition
getKind() == Predicate
Returns
true if the item has a modulo divisor
Exceptions
Deprecated:
{use getArithmeticOperand instead}

Return modulo divisor for the symbol in a predicate clause If there are multiple arithmetic operations, the result is undefined.

Precondition
getKind() == Predicate && hasModuloDivisor()
Returns
modulo divisor value
Exceptions
Deprecated:
{use getArithmeticOperand instead}

Is this an empty FilterExpression?

Returns
true if the filter expression represents an empty expression

Compare two FilterExpressions for equality (recursively)

Parameters

Compare two FilterExpressions for inequality (recursively)

Parameters

Get the number of arithmetic operations in this expression.

Get an arithmetic operation in this expression. The operations are in the order they are to be applied.


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