QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Protected Attributes | List of all members
QgsSQLStatement::NodeBinaryOperator Class Reference

Binary logical/arithmetical operator (AND, OR, =, +, ...) More...

#include <qgssqlstatement.h>

Inheritance diagram for QgsSQLStatement::NodeBinaryOperator:
Inheritance graph
[legend]

Public Member Functions

 NodeBinaryOperator (BinaryOperator op, Node *opLeft, Node *opRight)
 Constructor. More...
 
 ~NodeBinaryOperator ()
 
virtual void accept (Visitor &v) const override
 Support the visitor pattern. More...
 
virtual Node * clone () const override
 Generate a clone of this node. More...
 
virtual QString dump () const override
 Abstract virtual dump method. More...
 
bool leftAssociative () const
 Is left associative ? More...
 
virtual NodeType nodeType () const override
 Abstract virtual that returns the type of this node. More...
 
BinaryOperator op () const
 Operator. More...
 
Node * opLeft () const
 Left operand. More...
 
Node * opRight () const
 Right operand. More...
 
int precedence () const
 Precedence. More...
 
- Public Member Functions inherited from QgsSQLStatement::Node
virtual ~Node ()
 

Protected Attributes

BinaryOperator mOp
 
Node * mOpLeft
 
Node * mOpRight
 

Detailed Description

Binary logical/arithmetical operator (AND, OR, =, +, ...)

Definition at line 301 of file qgssqlstatement.h.

Constructor & Destructor Documentation

◆ NodeBinaryOperator()

QgsSQLStatement::NodeBinaryOperator::NodeBinaryOperator ( BinaryOperator  op,
Node *  opLeft,
Node *  opRight 
)
inline

Constructor.

Definition at line 305 of file qgssqlstatement.h.

◆ ~NodeBinaryOperator()

QgsSQLStatement::NodeBinaryOperator::~NodeBinaryOperator ( )
inline

Definition at line 306 of file qgssqlstatement.h.

Member Function Documentation

◆ accept()

virtual void QgsSQLStatement::NodeBinaryOperator::accept ( Visitor &  v) const
inlineoverridevirtual

Support the visitor pattern.

For any implementation this should look like

C++:

v.visit( *this );

Python:

v.visit( self)
Parameters
vA visitor that visits this node.

Implements QgsSQLStatement::Node.

Definition at line 320 of file qgssqlstatement.h.

◆ clone()

QgsSQLStatement::Node * QgsSQLStatement::NodeBinaryOperator::clone ( ) const
overridevirtual

Generate a clone of this node.

Make sure that the clone does not contain any information which is generated in prepare and context related. Ownership is transferred to the caller.

Returns
a deep copy of this node.

Implements QgsSQLStatement::Node.

Definition at line 400 of file qgssqlstatement.cpp.

◆ dump()

QString QgsSQLStatement::NodeBinaryOperator::dump ( ) const
overridevirtual

Abstract virtual dump method.

Returns
A statement which represents this node as string

Implements QgsSQLStatement::Node.

Definition at line 369 of file qgssqlstatement.cpp.

◆ leftAssociative()

bool QgsSQLStatement::NodeBinaryOperator::leftAssociative ( ) const

Is left associative ?

Definition at line 334 of file qgssqlstatement.cpp.

◆ nodeType()

virtual NodeType QgsSQLStatement::NodeBinaryOperator::nodeType ( ) const
inlineoverridevirtual

Abstract virtual that returns the type of this node.

Returns
The type of this node

Implements QgsSQLStatement::Node.

Definition at line 317 of file qgssqlstatement.h.

◆ op()

BinaryOperator QgsSQLStatement::NodeBinaryOperator::op ( ) const
inline

Operator.

Definition at line 309 of file qgssqlstatement.h.

◆ opLeft()

Node* QgsSQLStatement::NodeBinaryOperator::opLeft ( ) const
inline

Left operand.

Definition at line 312 of file qgssqlstatement.h.

◆ opRight()

Node* QgsSQLStatement::NodeBinaryOperator::opRight ( ) const
inline

Right operand.

Definition at line 315 of file qgssqlstatement.h.

◆ precedence()

int QgsSQLStatement::NodeBinaryOperator::precedence ( ) const

Precedence.

Definition at line 289 of file qgssqlstatement.cpp.

Member Data Documentation

◆ mOp

BinaryOperator QgsSQLStatement::NodeBinaryOperator::mOp
protected

Definition at line 331 of file qgssqlstatement.h.

◆ mOpLeft

Node* QgsSQLStatement::NodeBinaryOperator::mOpLeft
protected

Definition at line 332 of file qgssqlstatement.h.

◆ mOpRight

Node* QgsSQLStatement::NodeBinaryOperator::mOpRight
protected

Definition at line 333 of file qgssqlstatement.h.


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