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

#include <qgsexpression.h>

Inheritance diagram for QgsExpression::NodeInOperator:
Inheritance graph
[legend]

Public Member Functions

 NodeInOperator (Node *node, NodeList *list, bool notin=false)
 
virtual ~NodeInOperator ()
 
virtual void accept (Visitor &v) const override
 Support the visitor pattern. More...
 
virtual Nodeclone () const override
 Generate a clone of this node. More...
 
virtual QString dump () const override
 Abstract virtual dump method. More...
 
virtual QVariant eval (QgsExpression *parent, const QgsExpressionContext *context) override
 Abstract virtual eval method Errors are reported to the parent. More...
 
bool isNotIn () const
 
NodeListlist () const
 
virtual bool needsGeometry () const override
 Abstract virtual method which returns if the geometry is required to evaluate this expression. More...
 
Nodenode () const
 
virtual NodeType nodeType () const override
 Abstract virtual that returns the type of this node. More...
 
virtual bool prepare (QgsExpression *parent, const QgsExpressionContext *context) override
 Abstract virtual preparation method Errors are reported to the parent. More...
 
virtual QStringList referencedColumns () const override
 Abstract virtual method which returns a list of columns required to evaluate this node. More...
 
- Public Member Functions inherited from QgsExpression::Node
virtual ~Node ()
 
virtual Q_DECL_DEPRECATED QVariant eval (QgsExpression *parent, const QgsFeature *f)
 Abstract virtual eval method Errors are reported to the parent. More...
 
virtual Q_DECL_DEPRECATED bool prepare (QgsExpression *parent, const QgsFields &fields)
 Abstract virtual preparation method Errors are reported to the parent. More...
 

Protected Attributes

NodeListmList
 
NodemNode
 
bool mNotIn
 

Detailed Description

Definition at line 1166 of file qgsexpression.h.

Constructor & Destructor Documentation

◆ NodeInOperator()

QgsExpression::NodeInOperator::NodeInOperator ( Node node,
NodeList list,
bool  notin = false 
)
inline

Definition at line 1169 of file qgsexpression.h.

◆ ~NodeInOperator()

virtual QgsExpression::NodeInOperator::~NodeInOperator ( )
inlinevirtual

Definition at line 1174 of file qgsexpression.h.

Member Function Documentation

◆ accept()

virtual void QgsExpression::NodeInOperator::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 QgsExpression::Node.

Definition at line 1187 of file qgsexpression.h.

◆ clone()

QgsExpression::Node * QgsExpression::NodeInOperator::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 QgsExpression::Node.

Definition at line 4680 of file qgsexpression.cpp.

◆ dump()

QString QgsExpression::NodeInOperator::dump ( ) const
overridevirtual

Abstract virtual dump method.

Returns
An expression which represents this node as string

Implements QgsExpression::Node.

Definition at line 4675 of file qgsexpression.cpp.

◆ eval()

QVariant QgsExpression::NodeInOperator::eval ( QgsExpression parent,
const QgsExpressionContext context 
)
overridevirtual

Abstract virtual eval method Errors are reported to the parent.

Note
added in QGIS 2.12

Reimplemented from QgsExpression::Node.

Definition at line 4615 of file qgsexpression.cpp.

◆ isNotIn()

bool QgsExpression::NodeInOperator::isNotIn ( ) const
inline

Definition at line 1177 of file qgsexpression.h.

◆ list()

NodeList* QgsExpression::NodeInOperator::list ( ) const
inline

Definition at line 1178 of file qgsexpression.h.

◆ needsGeometry()

virtual bool QgsExpression::NodeInOperator::needsGeometry ( ) const
inlineoverridevirtual

Abstract virtual method which returns if the geometry is required to evaluate this expression.

This needs to call needsGeometry() recursively on any child nodes.

Returns
true if a geometry is required to evaluate this expression

Implements QgsExpression::Node.

Definition at line 1186 of file qgsexpression.h.

◆ node()

Node* QgsExpression::NodeInOperator::node ( ) const
inline

Definition at line 1176 of file qgsexpression.h.

◆ nodeType()

virtual NodeType QgsExpression::NodeInOperator::nodeType ( ) const
inlineoverridevirtual

Abstract virtual that returns the type of this node.

Returns
The type of this node

Implements QgsExpression::Node.

Definition at line 1180 of file qgsexpression.h.

◆ prepare()

bool QgsExpression::NodeInOperator::prepare ( QgsExpression parent,
const QgsExpressionContext context 
)
overridevirtual

Abstract virtual preparation method Errors are reported to the parent.

Note
added in QGIS 2.12

Reimplemented from QgsExpression::Node.

Definition at line 4665 of file qgsexpression.cpp.

◆ referencedColumns()

virtual QStringList QgsExpression::NodeInOperator::referencedColumns ( ) const
inlineoverridevirtual

Abstract virtual method which returns a list of columns required to evaluate this node.

When reimplementing this, you need to return any column that is required to evaluate this node and in addition recursively collect all the columns required to evaluate child nodes.

Returns
A list of columns required to evaluate this expression

Implements QgsExpression::Node.

Definition at line 1185 of file qgsexpression.h.

Member Data Documentation

◆ mList

NodeList* QgsExpression::NodeInOperator::mList
protected

Definition at line 1192 of file qgsexpression.h.

◆ mNode

Node* QgsExpression::NodeInOperator::mNode
protected

Definition at line 1191 of file qgsexpression.h.

◆ mNotIn

bool QgsExpression::NodeInOperator::mNotIn
protected

Definition at line 1193 of file qgsexpression.h.


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