17#ifndef QGSEXPRESSIONPRIVATE_H
18#define QGSEXPRESSIONPRIVATE_H
36class QgsExpressionPrivate
39 QgsExpressionPrivate()
43 QgsExpressionPrivate(
const QgsExpressionPrivate &other )
45 , mRootNode( other.mRootNode ? other.mRootNode->clone() : nullptr )
46 , mParserErrorString( other.mParserErrorString )
47 , mEvalErrorString( other.mEvalErrorString )
48 , mParserErrors( other.mParserErrors )
50 , mDaEllipsoid( other.mDaEllipsoid )
51 , mCalc( other.mCalc )
52 , mDistanceUnit( other.mDistanceUnit )
53 , mAreaUnit( other.mAreaUnit )
54 , mIsPrepared( false )
57 mDaCrs = std::make_unique<QgsCoordinateReferenceSystem>( *other.mDaCrs.get() );
58 if ( other.mDaTransformContext )
59 mDaTransformContext = std::make_unique<QgsCoordinateTransformContext>( *other.mDaTransformContext.get() );
62 ~QgsExpressionPrivate()
69 std::unique_ptr<QgsExpressionNode> mRootNode;
71 QString mParserErrorString;
72 QString mEvalErrorString;
74 QList<QgsExpression::ParserError> mParserErrors;
79 std::unique_ptr<QgsCoordinateReferenceSystem> mDaCrs;
80 std::unique_ptr<QgsCoordinateTransformContext> mDaTransformContext;
82 std::shared_ptr<QgsDistanceArea> mCalc;
87 bool mIsPrepared =
false;
89 QgsExpressionPrivate &operator= (
const QgsExpressionPrivate & ) =
delete;
DistanceUnit
Units of distance.
@ Unknown
Unknown distance unit.
@ Unknown
Unknown areal unit.