| QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
    | 
Expression function for use within a QgsExpressionContextScope. More...
#include <qgsexpressioncontext.h>

| Public Member Functions | |
| QgsScopedExpressionFunction (const QString &fnname, const QgsExpressionFunction::ParameterList ¶ms, const QString &group, const QString &helpText=QString(), bool usesGeometry=false, const QSet< QString > &referencedColumns=QSet< QString >(), bool lazyEval=false, bool handlesNull=false, bool isContextual=true) | |
| Create a new QgsScopedExpressionFunction using named parameters.  More... | |
| QgsScopedExpressionFunction (const QString &fnname, int params, const QString &group, const QString &helpText=QString(), bool usesGeometry=false, const QSet< QString > &referencedColumns=QSet< QString >(), bool lazyEval=false, bool handlesNull=false, bool isContextual=true) | |
| Create a new QgsScopedExpressionFunction.  More... | |
| virtual QgsScopedExpressionFunction * | clone () const =0 | 
| Returns a clone of the function.  More... | |
| QVariant | func (const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) override=0 | 
| Returns result of evaluating the function.  More... | |
| bool | isStatic (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) const override | 
| Will be called during prepare to determine if the function is static.  More... | |
| QSet< QString > | referencedColumns (const QgsExpressionNodeFunction *node) const override | 
| Returns a set of field names which are required for this function.  More... | |
| bool | usesGeometry (const QgsExpressionNodeFunction *node) const override | 
| Does this function use a geometry object.  More... | |
|  Public Member Functions inherited from QgsExpressionFunction | |
| QgsExpressionFunction (const QString &fnname, const QgsExpressionFunction::ParameterList ¶ms, const QString &group, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
| Constructor for function which uses named parameter list.  More... | |
| QgsExpressionFunction (const QString &fnname, const QgsExpressionFunction::ParameterList ¶ms, const QStringList &groups, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
| Constructor for function which uses named parameter list and group list.  More... | |
| QgsExpressionFunction (const QString &fnname, int params, const QString &group, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
| Constructor for function which uses unnamed parameters.  More... | |
| QgsExpressionFunction (const QString &fnname, int params, const QStringList &groups, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
| Constructor for function which uses unnamed parameters and group list.  More... | |
| virtual | ~QgsExpressionFunction ()=default | 
| virtual QStringList | aliases () const | 
| Returns a list of possible aliases for the function.  More... | |
| virtual QVariant | func (const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node)=0 | 
| Returns result of evaluating the function.  More... | |
| QString | group () const | 
| Returns the first group which the function belongs to.  More... | |
| QStringList | groups () const | 
| Returns a list of the groups the function belongs to.  More... | |
| virtual bool | handlesNull () const | 
| Returns trueif the function handles NULL values in arguments by itself, and the default NULL value handling should be skipped.  More... | |
| const QString | helpText () const | 
| The help text for the function.  More... | |
| bool | isContextual () const | 
| Returns whether the function is only available if provided by a QgsExpressionContext object.  More... | |
| virtual bool | isDeprecated () const | 
| Returns trueif the function is deprecated and should not be presented as a valid option to users in expression builders.  More... | |
| virtual bool | isStatic (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) const | 
| Will be called during prepare to determine if the function is static.  More... | |
| bool | lazyEval () const | 
| trueif this function should use lazy evaluation.  More... | |
| int | minParams () const | 
| The minimum number of parameters this function takes.  More... | |
| QString | name () const | 
| The name of the function.  More... | |
| bool | operator== (const QgsExpressionFunction &other) const | 
| const QgsExpressionFunction::ParameterList & | parameters () const | 
| Returns the list of named parameters for the function, if set.  More... | |
| int | params () const | 
| The number of parameters this function takes.  More... | |
| virtual bool | prepare (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) const | 
| This will be called during the prepare step() of an expression if it is not static.  More... | |
| virtual QSet< QString > | referencedColumns (const QgsExpressionNodeFunction *node) const | 
| Returns a set of field names which are required for this function.  More... | |
| virtual QVariant | run (QgsExpressionNode::NodeList *args, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) | 
| Evaluates the function, first evaluating all required arguments before passing them to the function's func() method.  More... | |
| virtual bool | usesGeometry (const QgsExpressionNodeFunction *node) const | 
| Does this function use a geometry object.  More... | |
| Additional Inherited Members | |
|  Public Types inherited from QgsExpressionFunction | |
| typedef QVariant(* | FcnEval) (const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) | 
| Function definition for evaluation against an expression context, using a list of values as parameters to the function.  More... | |
| typedef QList< QgsExpressionFunction::Parameter > | ParameterList | 
| List of parameters, used for function definition.  More... | |
|  Static Protected Member Functions inherited from QgsExpressionFunction | |
| static bool | allParamsStatic (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) | 
| This will return trueif all the params for the provided function node are static within the constraints imposed by the context within the given parent.  More... | |
Expression function for use within a QgsExpressionContextScope.
This differs from a standard QgsExpression::Function in that it requires an implemented clone() method.
Definition at line 43 of file qgsexpressioncontext.h.
| 
 | inline | 
Create a new QgsScopedExpressionFunction.
Definition at line 52 of file qgsexpressioncontext.h.
| 
 | inline | 
Create a new QgsScopedExpressionFunction using named parameters.
Definition at line 71 of file qgsexpressioncontext.h.
| 
 | pure virtual | 
Returns a clone of the function.
| 
 | overridepure virtual | 
Returns result of evaluating the function.
| values | list of values passed to the function | 
| context | context expression is being evaluated against | 
| parent | parent expression | 
| node | expression node | 
Implements QgsExpressionFunction.
| 
 | overridevirtual | 
Will be called during prepare to determine if the function is static.
A function is static if it will return the same value for every feature with different attributes and/or geometry.
By default this will return true, if all arguments that have been passed to the function are also static.
Reimplemented from QgsExpressionFunction.
Definition at line 941 of file qgsexpressioncontextutils.cpp.
| 
 | overridevirtual | 
Returns a set of field names which are required for this function.
May contain QgsFeatureRequest::AllAttributes to signal that all attributes are required. If in doubt this will return more fields than strictly required.
Reimplemented from QgsExpressionFunction.
Definition at line 935 of file qgsexpressioncontextutils.cpp.
| 
 | overridevirtual | 
Does this function use a geometry object.
Reimplemented from QgsExpressionFunction.
Definition at line 929 of file qgsexpressioncontextutils.cpp.