17#ifndef QGSEXPRESSIONPRIVATE_H
18#define QGSEXPRESSIONPRIVATE_H
35class QgsExpressionPrivate
38 QgsExpressionPrivate()
42 QgsExpressionPrivate(
const QgsExpressionPrivate &other )
44 , mRootNode( other.mRootNode ? other.mRootNode->clone() : nullptr )
45 , mParserErrorString( other.mParserErrorString )
46 , mEvalErrorString( other.mEvalErrorString )
47 , mParserErrors( other.mParserErrors )
49 , mDaEllipsoid( other.mDaEllipsoid )
50 , mCalc( other.mCalc )
51 , mDistanceUnit( other.mDistanceUnit )
52 , mAreaUnit( other.mAreaUnit )
53 , mIsPrepared( false )
56 mDaCrs = std::make_unique<QgsCoordinateReferenceSystem>( *other.mDaCrs.get() );
57 if ( other.mDaTransformContext )
58 mDaTransformContext = std::make_unique<QgsCoordinateTransformContext>( *other.mDaTransformContext.get() );
61 ~QgsExpressionPrivate()
70 QString mParserErrorString;
71 QString mEvalErrorString;
73 QList<QgsExpression::ParserError> mParserErrors;
78 std::unique_ptr<QgsCoordinateReferenceSystem> mDaCrs;
79 std::unique_ptr<QgsCoordinateTransformContext> mDaTransformContext;
81 std::shared_ptr<QgsDistanceArea> mCalc;
86 bool mIsPrepared =
false;
88 QgsExpressionPrivate &operator= (
const QgsExpressionPrivate & ) =
delete;
DistanceUnit
Units of distance.
@ Unknown
Unknown distance unit.
@ Unknown
Unknown areal unit.
Abstract base class for all nodes that can appear in an expression.