36int QgisEvent = QEvent::User + 1;
 
   43#define QHASH_FOR_CLASS_ENUM(T) \ 
   44  inline uint qHash(const T &t, uint seed) { \ 
   45    return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \ 
 
   56    Q_CLASSINFO( 
"RegisterEnumClassesUnscoped", 
"false" )
 
   65    static QString version();
 
   72    static int versionInt();
 
   79    static QString releaseName();
 
   89    static QString devVersion();
 
  101      ClearStorage = 1 << 0, 
 
  103      ReadConfiguration = 1 << 1, 
 
  104      UpdateConfiguration = 1 << 2, 
 
  105      DeleteConfiguration = 1 << 3, 
 
  106      CreateConfiguration = 1 << 4, 
 
  108      ReadCertificateIdentity = 1 << 5, 
 
  109      UpdateCertificateIdentity = 1 << 6, 
 
  110      DeleteCertificateIdentity = 1 << 7, 
 
  111      CreateCertificateIdentity = 1 << 8, 
 
  113      ReadSslCertificateCustomConfig = 1 << 9, 
 
  114      UpdateSslCertificateCustomConfig = 1 << 10, 
 
  115      DeleteSslCertificateCustomConfig = 1 << 11, 
 
  116      CreateSslCertificateCustomConfig = 1 << 12, 
 
  118      ReadCertificateAuthority = 1 << 13, 
 
  119      UpdateCertificateAuthority = 1 << 14, 
 
  120      DeleteCertificateAuthority = 1 << 15, 
 
  121      CreateCertificateAuthority = 1 << 16, 
 
  123      ReadCertificateTrustPolicy = 1 << 17, 
 
  124      UpdateCertificateTrustPolicy = 1 << 18, 
 
  125      DeleteCertificateTrustPolicy = 1 << 19, 
 
  126      CreateCertificateTrustPolicy = 1 << 20, 
 
  128      ReadMasterPassword = 1 << 21, 
 
  129      UpdateMasterPassword = 1 << 22, 
 
  130      DeleteMasterPassword = 1 << 23, 
 
  131      CreateMasterPassword = 1 << 24, 
 
  133      ReadSetting = 1 << 25, 
 
  134      UpdateSetting = 1 << 26, 
 
  135      DeleteSetting = 1 << 27, 
 
  136      CreateSetting = 1 << 28, 
 
 
  139    Q_ENUM( AuthConfigurationStorageCapability )
 
  161    Q_ENUM( MessageLevel )
 
  194      HasGeometry = PointLayer | LineLayer | PolygonLayer,
 
  195      VectorLayer = NoGeometry | HasGeometry,
 
  199      VectorTileLayer = 256, 
 
  200      PointCloudLayer = 512, 
 
  201      AnnotationLayer = 1024, 
 
  202      TiledSceneLayer = 2048, 
 
  203      All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer, 
 
  204      SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer 
 
 
  216      IgnoreMissingStyleErrors = 1 << 0, 
 
 
  218    Q_ENUM( LoadStyleFlag )
 
  265      GeometryCollection = 7, 
 
  271      PolyhedralSurface = 15, 
 
  279      MultiLineStringZ = 1005, 
 
  280      MultiPolygonZ = 1006, 
 
  281      GeometryCollectionZ = 1007, 
 
  282      CircularStringZ = 1008, 
 
  283      CompoundCurveZ = 1009, 
 
  284      CurvePolygonZ = 1010, 
 
  286      MultiSurfaceZ = 1012, 
 
  287      PolyhedralSurfaceZ = 1015, 
 
  294      MultiLineStringM = 2005, 
 
  295      MultiPolygonM = 2006, 
 
  296      GeometryCollectionM = 2007, 
 
  297      CircularStringM = 2008, 
 
  298      CompoundCurveM = 2009, 
 
  299      CurvePolygonM = 2010, 
 
  301      MultiSurfaceM = 2012, 
 
  302      PolyhedralSurfaceM = 2015, 
 
  308      MultiLineStringZM = 3005, 
 
  309      MultiPolygonZM = 3006, 
 
  310      GeometryCollectionZM = 3007, 
 
  311      CircularStringZM = 3008, 
 
  312      CompoundCurveZM = 3009, 
 
  313      CurvePolygonZM = 3010, 
 
  315      MultiSurfaceZM = 3012, 
 
  316      PolyhedralSurfaceZM = 3015, 
 
  319      Point25D = 0x80000001, 
 
 
  344    Q_ENUM( GeometryType )
 
  366      ARGB32_Premultiplied = 13 
 
 
  382    Q_ENUM( CaptureTechnique )
 
  393    Q_ENUM( VectorLayerTypeFlag )
 
  410    Q_ENUM( PythonEmbeddedMode )
 
  419      ExpressionFunction = 1,
 
 
  421    Q_ENUM( PythonEmbeddedType )
 
  433      SkipFeatureCount = 1 << 1, 
 
  435      SkipGetExtent = 1 << 3, 
 
  436      SkipFullScan = 1 << 4, 
 
  437      ForceReadOnly = 1 << 5, 
 
  438      SkipCredentialsRequest =  1 << 6, 
 
  439      ParallelThreadLoading = 1 << 7, 
 
 
  441    Q_ENUM( DataProviderReadFlag )
 
  466      DeleteFeatures = 1 <<  1, 
 
  467      ChangeAttributeValues = 1 <<  2, 
 
  468      AddAttributes = 1 <<  3, 
 
  469      DeleteAttributes = 1 <<  4, 
 
  470      CreateSpatialIndex = 1 <<  6, 
 
  472      ChangeGeometries = 1 <<  8, 
 
  473      SelectEncoding = 1 << 13, 
 
  474      CreateAttributeIndex = 1 << 12, 
 
  475      SimplifyGeometries = 1 << 14, 
 
  476      SimplifyGeometriesWithTopologicalValidation = 1 << 15, 
 
  477      TransactionSupport = 1 << 16, 
 
  478      CircularGeometries = 1 << 17, 
 
  479      ChangeFeatures = 1 << 18, 
 
  480      RenameAttributes = 1 << 19, 
 
  481      FastTruncate = 1 << 20, 
 
  482      ReadLayerMetadata = 1 << 21, 
 
  483      WriteLayerMetadata = 1 << 22, 
 
  484      CancelSupport = 1 << 23, 
 
  485      CreateRenderer = 1 << 24, 
 
  486      CreateLabeling = 1 << 25, 
 
  487      ReloadData = 1 << 26, 
 
  488      FeatureSymbology = 1 << 27, 
 
  489      EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes, 
 
 
  491    Q_ENUM( VectorProviderCapability )
 
  513    Q_ENUM( FeatureCountState )
 
  527    Q_ENUM( SpatialIndexPresence )
 
  542      NoFeaturesAvailable = 0, 
 
  544      FeaturesMaybeAvailable 
 
 
  546    Q_ENUM( FeatureAvailability )
 
  556      EditComment = 1 << 1, 
 
 
  559    Q_ENUM( VectorDataProviderAttributeEditCapability )
 
  592    Q_ENUM( ScaleMethod )
 
  611    Q_ENUM( SettingsType )
 
  623    Q_ENUM( SettingsTreeNodeType )
 
  631      NamedListSelectedItemSetting = 1 << 0, 
 
 
  634    Q_ENUM( SettingsTreeNodeOption )
 
  652    Q_ENUM( PropertyType )
 
  665    Q_ENUM( SldExportOption )
 
  676      NoVendorExtension = 0,             
 
  677      GeoServerVendorExtension = 1 << 1, 
 
  678      DeegreeVendorExtension = 1 << 2,   
 
 
  680    Q_ENUM( SldExportVendorExtension )
 
  689      SaveFormerValue = 1 << 1, 
 
  690      SaveEnumFlagAsInt = 1 << 2, 
 
 
  692    Q_ENUM( SettingsOption )
 
  704      AdvancedConfiguration = 3, 
 
 
  706    Q_ENUM( SnappingMode )
 
  722    Q_ENUM( SnappingType )
 
  734      DynamicRotation = 1 << 1, 
 
  735      IsSymbolLayerSubSymbol = 1 << 2, 
 
  736      ForceVectorRendering = 1 << 3, 
 
  737      ExcludeSymbolBuffers = 1 << 4, 
 
 
  739    Q_ENUM( SymbolRenderHint )
 
  754    Q_ENUM( SymbolRotationMode )
 
  769    Q_ENUM( HorizontalAnchorPoint )
 
  784    Q_ENUM( VerticalAnchorPoint )
 
  793      AffectsLabeling = 1 << 0, 
 
 
  795    Q_ENUM( FeatureRendererFlag )
 
  812      RendererShouldUseSymbolLevels = 1 << 0, 
 
  813      AffectsLabeling = 1 << 1, 
 
 
  827      FlagIncludeCrosshairsForMarkerSymbols = 1 << 0, 
 
 
  829    Q_ENUM( SymbolPreviewFlag )
 
  845      DisableFeatureClipping = 1 << 0, 
 
  846      CanCalculateMaskGeometryPerFeature = 1 << 1, 
 
  847      AffectsLabeling = 1 << 2, 
 
 
  849    Q_ENUM( SymbolLayerFlag )
 
  865      DisableSelectionRecoloring = 1 << 0, 
 
 
  867    Q_ENUM( SymbolLayerUserFlag )
 
  894    Q_ENUM( BrowserItemType )
 
  907    Q_ENUM( BrowserItemState )
 
  923      ItemRepresentsFile = 1 << 6, 
 
  924      RefreshChildrenWhenItemIsRefreshed = 1 << 7, 
 
 
  927    Q_ENUM( BrowserItemCapability )
 
  947    Q_ENUM( DataItemProviderCapability )
 
  981    Q_ENUM( BrowserLayerType )
 
  994    Q_ENUM( BrowserDirectoryMonitoring )
 
 1008    Q_ENUM( HttpMethod )
 
 1030    Q_ENUM( VectorExportResult )
 
 1038      FieldAliases = 1 << 0, 
 
 1039      FieldComments = 1 << 2, 
 
 
 1041    Q_ENUM( VectorFileWriterCapability )
 
 1056      SubsetStringFilter = 1 << 1,  
 
 1057      GeometryColumn = 1 << 2,      
 
 1058      PrimaryKeys = 1 << 3,         
 
 1059      UnstableFeatureIds = 1 << 4   
 
 
 1061    Q_ENUM( SqlLayerDefinitionCapability )
 
 1083    Q_ENUM( SqlKeywordCategory )
 
 1111    Q_ENUM( ActionStart )
 
 1120      FollowEngineSetting, 
 
 
 1123    Q_ENUM( UnplacedLabelVisibility )
 
 1133      AllowOverlapIfRequired, 
 
 1134      AllowOverlapAtNoCost, 
 
 
 1136    Q_ENUM( LabelOverlapHandling )
 
 1146      PreferPositionOrdering, 
 
 
 1148    Q_ENUM( LabelPrioritization )
 
 1165      OrderedPositionsAroundPoint, 
 
 
 1169    Q_ENUM( LabelPlacement )
 
 1190      BottomSlightlyRight, 
 
 
 1194    Q_ENUM( LabelPredefinedPointPosition )
 
 1209    Q_ENUM( LabelOffsetType )
 
 1230    Q_ENUM( LabelQuadrantPosition )
 
 1245    Q_ENUM( LabelLinePlacementFlag )
 
 1265      AllowPlacementOutsideOfPolygon = 1 << 0, 
 
 1266      AllowPlacementInsideOfPolygon = 1 << 1, 
 
 
 1268    Q_ENUM( LabelPolygonPlacementFlag )
 
 1292    Q_ENUM( UpsideDownLabelHandling )
 
 1309    Q_ENUM( LabelMultiLineAlignment )
 
 1327    Q_ENUM( FileFilterType )
 
 1336      RemoveCredentials = 1 << 0, 
 
 1337      RedactCredentials = 1 << 1, 
 
 
 1339    Q_ENUM( UriCleaningFlag )
 
 1357      ResolveGeometryType = 1 << 1, 
 
 1358      CountFeatures = 1 << 2, 
 
 1359      IncludeSystemTables = 1 << 3, 
 
 
 1373      SystemTable = 1 << 0, 
 
 
 1393    Q_ENUM( ShaderInterpolationMethod )
 
 1408    Q_ENUM( ShaderClassificationMethod )
 
 1426    Q_ENUM( RasterPipeInterfaceRole )
 
 1437    Q_ENUM( RasterResamplingStage )
 
 1457    Q_ENUM( RasterResamplingMethod )
 
 1466      InternalLayerOpacityHandling = 1 << 0, 
 
 1467      UseNoDataForOutOfRangePixels = 1 << 1, 
 
 
 1487      UsesMultipleBands = 1 << 0, 
 
 
 1489    Q_ENUM( RasterRendererCapability )
 
 1513    Q_ENUM( RasterRangeLimit )
 
 1528    Q_ENUM( RasterRangeExtent )
 
 1542    Q_ENUM( RasterRangeAccuracy )
 
 1571    Q_ENUM( RasterAttributeTableFieldUsage )
 
 1583    Q_ENUM( RasterAttributeTableType )
 
 1596    Q_ENUM( RasterExportType )
 
 1607      SourceProviderError = 1, 
 
 1609      CreateDatasourceError = 3, 
 
 
 1614    Q_ENUM( RasterFileWriterResult )
 
 1625      TooManyVerticesInFace, 
 
 
 1631    Q_ENUM( MeshEditingErrorType )
 
 1643    Q_ENUM( FilePathType )
 
 1653      AskExcludingRasterBands, 
 
 
 1657    Q_ENUM( SublayerPromptMode )
 
 1674    Q_ENUM( FieldOrigin )
 
 1686      NotSearchable = 1 << 1, 
 
 1687      HideFromWms = 1 << 2, 
 
 1688      HideFromWfs = 1 << 3, 
 
 
 1690    Q_ENUM( FieldConfigurationFlag )
 
 1709      GeometryCrs = 0x1000, 
 
 1710      GeometryWkbType = 0x1001, 
 
 1711      CustomProperty = 0x100000, 
 
 
 1713    Q_ENUM( FieldMetadataProperty )
 
 1726    Q_ENUM( SelectionRenderingMode )
 
 1738      RemoveFromSelection, 
 
 
 1740    Q_ENUM( SelectBehavior )
 
 1752    Q_ENUM( SelectGeometryRelationship )
 
 1761      SingleFeatureSelection = 1 << 0, 
 
 1762      ToggleSelection = 1 << 1, 
 
 
 1785      FetchFeatureFailed = 3, 
 
 
 1788    Q_ENUM( VectorEditResult )
 
 1797      SemiTransparentCircle, 
 
 
 1801    Q_ENUM( VertexMarkerType )
 
 1815    Q_ENUM( ContentStatus )
 
 1829    Q_ENUM( GpsConnectionType )
 
 1842    Q_ENUM( DeviceConnectionStatus )
 
 1897    Q_ENUM( GpsQualityIndicator )
 
 1922      GroundSpeed = 1 << 2, 
 
 1924      TotalTrackLength = 1 << 4, 
 
 1925      TrackDistanceFromStart = 1 << 5, 
 
 1929      HorizontalAccuracy = 1 << 9, 
 
 1930      VerticalAccuracy = 1 << 10, 
 
 1931      HvAccuracy = 1 << 11, 
 
 1932      SatellitesUsed = 1 << 12, 
 
 1933      Timestamp = 1 << 13, 
 
 1934      TrackStartTime = 1 << 14, 
 
 1935      TrackEndTime = 1 << 15, 
 
 1936      TrackDistanceSinceLastPoint = 1 << 16, 
 
 1937      TrackTimeSinceLastPoint = 1 << 17, 
 
 1938      GeoidalSeparation = 1 << 18, 
 
 1939      EllipsoidAltitude = 1 << 19, 
 
 
 1977      QuoteFilePaths = 1 << 0, 
 
 
 1995    Q_ENUM( GpsFeatureType )
 
 2007      NothingHappened = 1000, 
 
 2008      InvalidBaseGeometry, 
 
 2009      InvalidInputGeometryType, 
 
 2011      SelectionIsGreaterThanOne, 
 
 2012      GeometryEngineError, 
 
 2015      AddPartSelectedGeometryNotFound, 
 
 2016      AddPartNotMultiGeometry, 
 
 2020      AddRingCrossesExistingRings, 
 
 2021      AddRingNotInExistingFeature, 
 
 2023      SplitCannotSplitPoint, 
 
 2024      GeometryTypeHasChanged, 
 
 
 2026    Q_ENUM( GeometryOperationResult )
 
 2051    Q_ENUM( GeometryValidationEngine )
 
 2063    Q_ENUM( BufferSide )
 
 2076    Q_ENUM( EndCapStyle )
 
 2098      RejectOnInvalidSubGeometry = 1 << 0,  
 
 2099      SkipEmptyInteriorRings = 1 << 1,      
 
 
 2101    Q_ENUM( GeosCreationFlag )
 
 2122    Q_ENUM( CoverageValidityResult )
 
 2134    Q_ENUM( MakeValidMethod )
 
 2147      SubsetOfAttributes = 2,  
 
 2149      IgnoreStaticNodesDuringExpressionCompilation = 8, 
 
 2150      EmbeddedSymbols    = 16,  
 
 
 2152    Q_ENUM( FeatureRequestFlag )
 
 2178    Q_ENUM( FeatureRequestFilterType )
 
 2193    Q_ENUM( InvalidGeometryCheck )
 
 2206    Q_ENUM( SpatialFilterType )
 
 2215      IncludeMetadataFile = 1 << 0, 
 
 2216      IncludeStyleFile = 1 << 1, 
 
 
 2230      UsersCannotToggleEditing = 1 << 0, 
 
 2231      IsBasemapLayer = 1 << 1, 
 
 2232      Is3DBasemapLayer = 1 << 2, 
 
 
 2250    Q_ENUM( AutoRefreshMode )
 
 2259      IsBasemapSource = 1 << 1, 
 
 2260      FastExtent2D = 1 << 2, 
 
 2261      FastExtent3D = 1 << 3, 
 
 2262      Is3DBasemapSource = 1 << 4, 
 
 
 2344    Q_ENUM( CrsAxisDirection )
 
 2357    Q_ENUM( CoordinateOrder )
 
 2372    Q_ENUM( CrsIdentifierType )
 
 2393    Q_ENUM( CrsWktVariant )
 
 2415      ScaleDependentBoundingBox = 1 << 0, 
 
 2416      SupportsReferenceScale = 1 << 1, 
 
 2417      SupportsCallouts = 1 << 2, 
 
 
 2435    Q_ENUM( AnnotationPlacementMode )
 
 2444      FlagNoCreationTools = 1 << 0,  
 
 
 2461    Q_ENUM( AnnotationItemNodeType )
 
 2474    Q_ENUM( AnnotationItemEditOperationResult )
 
 2490    Q_ENUM( TemporalNavigationMode )
 
 2505    Q_ENUM( AnimationState )
 
 2522    Q_ENUM( PlaybackOperation )
 
 2538    Q_ENUM( VectorTemporalMode )
 
 2547      IncludeBeginExcludeEnd = 0, 
 
 2548      IncludeBeginIncludeEnd, 
 
 
 2550    Q_ENUM( VectorTemporalLimitMode )
 
 2561      StoresFeatureDateTimeStartAndEndInSeparateFields 
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ), 
 
 
 2563    Q_ENUM( VectorDataProviderTemporalMode )
 
 2575      FixedRangePerBand = 3, 
 
 2576      RepresentsTemporalValues = 4, 
 
 
 2579    Q_ENUM( RasterTemporalMode )
 
 2588      MatchUsingWholeRange, 
 
 2589      MatchExactUsingStartOfRange, 
 
 2590      MatchExactUsingEndOfRange, 
 
 2591      FindClosestMatchToStartOfRange, 
 
 2592      FindClosestMatchToEndOfRange 
 
 
 2594    Q_ENUM( TemporalIntervalMatchMethod )
 
 2603      RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0, 
 
 
 2605    Q_ENUM( RasterTemporalCapabilityFlag )
 
 2625    Q_ENUM( TransformDirection )
 
 2634      BallparkTransformsAreAppropriate = 1 << 0, 
 
 2635      IgnoreImpossibleTransformations = 1 << 1, 
 
 
 2637    Q_ENUM( CoordinateTransformationFlag )
 
 2658    Q_ENUM( RasterizedRenderingPolicy )
 
 2667      Antialiasing             = 0x01,  
 
 2668      DrawEditingInfo          = 0x02,  
 
 2669      ForceVectorOutput        = 0x04,  
 
 2670      UseAdvancedEffects       = 0x08,  
 
 2671      DrawLabeling             = 0x10,  
 
 2672      UseRenderingOptimization = 0x20,  
 
 2673      DrawSelection            = 0x40,  
 
 2674      DrawSymbolBounds         = 0x80,  
 
 2675      RenderMapTile            = 0x100, 
 
 2676      RenderPartialOutput      = 0x200, 
 
 2677      RenderPreviewJob         = 0x400, 
 
 2678      RenderBlocking           = 0x800, 
 
 2679      LosslessImageRendering   = 0x1000, 
 
 2680      Render3DMap              = 0x2000, 
 
 2681      HighQualityImageTransforms = 0x4000, 
 
 2682      SkipSymbolRendering      = 0x8000, 
 
 2683      ForceRasterMasks         = 0x10000,  
 
 2684      RecordProfile            = 0x20000, 
 
 2685      AlwaysUseGlobalMasks     = 0x40000, 
 
 
 2699      DrawEditingInfo          = 0x01,  
 
 2700      ForceVectorOutput        = 0x02,  
 
 2701      UseAdvancedEffects       = 0x04,  
 
 2702      UseRenderingOptimization = 0x08,  
 
 2703      DrawSelection            = 0x10,  
 
 2704      DrawSymbolBounds         = 0x20,  
 
 2705      RenderMapTile            = 0x40,  
 
 2706      Antialiasing             = 0x80,  
 
 2707      RenderPartialOutput      = 0x100, 
 
 2708      RenderPreviewJob         = 0x200, 
 
 2709      RenderBlocking           = 0x400, 
 
 2710      RenderSymbolPreview      = 0x800, 
 
 2711      LosslessImageRendering   = 0x1000, 
 
 2712      ApplyScalingWorkaroundForTextRendering = 0x2000, 
 
 2713      Render3DMap              = 0x4000, 
 
 2714      ApplyClipAfterReprojection = 0x8000, 
 
 2715      RenderingSubSymbol       = 0x10000, 
 
 2716      HighQualityImageTransforms = 0x20000, 
 
 2717      SkipSymbolRendering      = 0x40000, 
 
 2718      RecordProfile            = 0x80000, 
 
 2719      AlwaysUseGlobalMasks     = 0x100000, 
 
 2720      DisableSymbolClippingToExtent = 0x200000, 
 
 2721      RenderLayerTree = 0x400000        
 
 
 2735      RenderPartialOutputs = 1 << 0,  
 
 2736      RenderPartialOutputOverPreviousCachedImage = 1 << 1,
 
 2737      AffectsLabeling = 1 << 2, 
 
 
 2739    Q_ENUM( MapLayerRendererFlag )
 
 2756      RequiresRasterization = 1 << 0, 
 
 
 2758    Q_ENUM( PaintEffectFlag )
 
 2781    Q_ENUM( TextRenderFormat )
 
 2792      UseAllLabels          = 1 << 1, 
 
 2793      UsePartialCandidates  = 1 << 2, 
 
 2795      RenderOutlineLabels   = 1 << 3, 
 
 2796      DrawLabelRectOnly     = 1 << 4, 
 
 2797      DrawCandidates        = 1 << 5, 
 
 2798      DrawUnplacedLabels    = 1 << 6, 
 
 2799      CollectUnplacedLabels = 1 << 7, 
 
 2800      DrawLabelMetrics      = 1 << 8, 
 
 
 2802    Q_ENUM( LabelingFlag )
 
 2826    Q_ENUM( LabelPlacementEngineVersion )
 
 2841    Q_ENUM( TextOrientation )
 
 2855      RectangleCapHeightBased, 
 
 2856      RectangleAscentBased, 
 
 
 2858    Q_ENUM( TextLayoutMode )
 
 2871      Background = 1 << 2, 
 
 
 2874    Q_ENUM( TextComponent )
 
 2898    Q_ENUM( TextHorizontalAlignment )
 
 2916    Q_ENUM( TextVerticalAlignment )
 
 2932    Q_ENUM( TextCharacterVerticalAlignment )
 
 2946      SnappedToGridGlobal = 3, 
 
 
 2948    Q_ENUM( VectorSimplificationAlgorithm )
 
 2959      NoSimplification           = 0, 
 
 2960      GeometrySimplification     = 1, 
 
 2961      AntialiasingSimplification = 2, 
 
 2962      FullSimplification         = 3, 
 
 
 2964    Q_ENUM( VectorRenderingSimplificationFlag )
 
 2988    Q_ENUM( RenderSubcomponentProperty )
 
 2999    Q_ENUM( VertexType )
 
 3015      EquilateralTriangle, 
 
 
 3048    Q_ENUM( MarkerShape )
 
 3061      LastVertex = 1 << 2, 
 
 3062      FirstVertex = 1 << 3, 
 
 3063      CentralPoint = 1 << 4, 
 
 3064      CurvePoint = 1 << 5, 
 
 3065      SegmentCenter = 1 << 6, 
 
 3066      InnerVertices = 1 << 7, 
 
 
 3068    Q_ENUM( MarkerLinePlacement )
 
 3079      IntervalCartesian2D = 1 << 0, 
 
 
 3084    Q_ENUM( LinearReferencingPlacement )
 
 3093      CartesianDistance2D, 
 
 
 3097    Q_ENUM( LinearReferencingLabelSource )
 
 3111    Q_ENUM( GradientColorSource )
 
 3126    Q_ENUM( GradientType )
 
 3140    Q_ENUM( SymbolCoordinateReference )
 
 3156    Q_ENUM( GradientSpread )
 
 3170    Q_ENUM( PointCountMethod )
 
 3184    Q_ENUM( MarkerClipMode )
 
 3197    Q_ENUM( LineClipMode )
 
 3212    Q_ENUM( DashPatternLineEndingRule )
 
 3221      ScaleBothDashAndGap, 
 
 
 3225    Q_ENUM( DashPatternSizeAdjustment )
 
 3239    Q_ENUM( GraduatedMethod )
 
 3254    Q_ENUM( PlotAxisSuffixPlacement )
 
 3280    Q_ENUM( TilePixelRatio )
 
 3296      ForceFirstLetterToCapital = 4, 
 
 3299      UpperCamelCase = 1005, 
 
 3300      AllSmallCaps = 1006, 
 
 
 3302    Q_ENUM( Capitalization )
 
 3313    Q_ENUM( TextRendererFlag )
 
 3340    Q_ENUM( AngularDirection )
 
 3353    Q_ENUM( RendererUsage )
 
 3362      ShowMainAnnotationLayer = 1 << 0, 
 
 
 3364    Q_ENUM( MapCanvasFlag )
 
 3381      Sync3DTo2D = 1 << 0, 
 
 3382      Sync2DTo3D = 1 << 1, 
 
 
 3384    Q_ENUM( ViewSyncModeFlag )
 
 3395      WhenOutsideVisibleExtent, 
 
 
 3398    Q_ENUM( MapRecenteringMode )
 
 3407      LocalProfile = 1 << 0, 
 
 
 3410    Q_ENUM( HistoryProviderBackend )
 
 3424    Q_ENUM( QueryStorageBackend )
 
 3449    Q_ENUM( ProcessingSourceType )
 
 3499      SecurityRisk = 1 << 15, 
 
 
 3521      RegeneratesPrimaryKey = 1 << 0, 
 
 3522      RegeneratesPrimaryKeyInSomeScenarios = 1 << 1, 
 
 
 3524    Q_ENUM( ProcessingAlgorithmDocumentationFlag )
 
 3547    Q_ENUM( ProcessingPropertyAvailability )
 
 3562    Q_ENUM( ProcessingLogLevel )
 
 3577    Q_ENUM( ProcessingMode )
 
 3591    Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
 
 3614    Q_ENUM( ProcessingFeatureSourceFlag )
 
 3640    Q_ENUM( ProcessingParameterTypeFlag )
 
 3669    Q_ENUM( ProcessingParameterFlag )
 
 3693    Q_ENUM( ProcessingFileParameterBehavior )
 
 3707    Q_ENUM( ProcessingNumberParameterType )
 
 3725    Q_ENUM( ProcessingFieldParameterDataType )
 
 3740    Q_ENUM( ProcessingDateTimeParameterDataType )
 
 3756    Q_ENUM( ProcessingModelChildParameterSource )
 
 3769    Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
 
 3784    Q_ENUM( ProcessingTinInputLayerType )
 
 3796    Q_ENUM( CrsDefinitionFormat )
 
 3813    Q_ENUM( FieldDomainSplitPolicy )
 
 3834    Q_ENUM( FieldDomainMergePolicy )
 
 3849    Q_ENUM( FieldDuplicatePolicy )
 
 3862    Q_ENUM( FieldDomainType )
 
 3872      AutomaticGroups = 1, 
 
 
 3875    Q_ENUM( TransactionMode )
 
 3888    Q_ENUM( AltitudeClamping )
 
 3900    Q_ENUM( AltitudeBinding )
 
 3910      IncludeLowerExcludeUpper, 
 
 3911      ExcludeLowerIncludeUpper, 
 
 
 3914    Q_ENUM( RangeLimits )
 
 3923      FixedElevationRange = 0, 
 
 3924      RepresentsElevationSurface = 1, 
 
 3925      FixedRangePerBand = 2, 
 
 3926      DynamicRangePerBand = 3, 
 
 
 3928    Q_ENUM( RasterElevationMode )
 
 3937      FixedElevationRange = 0, 
 
 3939      FixedRangePerGroup = 2, 
 
 
 3941    Q_ENUM( MeshElevationMode )
 
 3954    Q_ENUM( BetweenLineConstraint )
 
 3967    Q_ENUM( LineExtensionSide )
 
 3984    Q_ENUM( CadConstraintType )
 
 3994      EvaluateDefaultValuesOnProviderSide = 1 << 0, 
 
 3995      TrustStoredLayerStatistics = 1 << 1, 
 
 3996      RememberLayerEditStatusBetweenSessions = 1 << 2, 
 
 3997      RememberAttributeTableWindowsBetweenSessions = 1 << 3, 
 
 
 3999    Q_ENUM( ProjectFlag )
 
 4010      ShowContextMenu = 1 << 0, 
 
 
 4012    Q_ENUM( PlotToolFlag )
 
 4036    Q_ENUM( Point3DShape )
 
 4048    Q_ENUM( LightSourceType )
 
 4061    Q_ENUM( NavigationMode )
 
 4086    Q_ENUM( VerticalAxisInversion )
 
 4120      RespectsMaximumErrorMapUnit = 1 << 0, 
 
 4121      RespectsDistanceRange = 1 << 1, 
 
 4122      RespectsElevationRange = 1 << 2, 
 
 
 4124    Q_ENUM( ProfileGeneratorFlag )
 
 4137      DistanceVsElevationTable, 
 
 
 4151    Q_ENUM( PointCloudSymbol )
 
 4164    Q_ENUM( PointCloudDrawOrder )
 
 4176      AvoidIntersectionsCurrentLayer, 
 
 4177      AvoidIntersectionsLayers, 
 
 
 4179    Q_ENUM( AvoidIntersectionsMode )
 
 4193    Q_ENUM( ProjectFileFormat )
 
 4209      DontLoadProjectStyles = 1 << 5, 
 
 4210      ForceReadOnlyLayers = 1 << 6, 
 
 4211      DontUpgradeAnnotations = 1 << 7, 
 
 
 4213    Q_ENUM( ProjectReadFlag )
 
 4235      ProjectStyles = 1 << 0, 
 
 
 4237    Q_ENUM( ProjectCapability )
 
 4262    Q_ENUM( MapBoxGlStyleSourceType )
 
 4281    Q_ENUM( ArcGisRestServiceType )
 
 4295    Q_ENUM( RelationshipType )
 
 4309    Q_ENUM( RelationshipStrength )
 
 4323    Q_ENUM( RelationshipCardinality )
 
 4332      MultipleFieldKeys = 1 << 0, 
 
 4333      ForwardPathLabel = 1 << 1, 
 
 4334      BackwardPathLabel = 1 << 2, 
 
 
 4336    Q_ENUM( RelationshipCapability )
 
 4357    Q_ENUM( CoordinateDisplayType )
 
 4370    Q_ENUM( SettingsOrigin )
 
 4391    Q_ENUM( ScriptLanguage )
 
 4403      CheckSyntax = 1 << 1, 
 
 4404      ToggleComment = 1 << 2, 
 
 
 4406    Q_ENUM( ScriptLanguageCapability )
 
 4423      AboveInsertionPoint, 
 
 4425      OptimalInInsertionGroup, 
 
 
 4427    Q_ENUM( LayerTreeInsertionMethod )
 
 4436      SkipVisibilityCheck = 1 << 0, 
 
 
 4438    Q_ENUM( LayerTreeFilterFlag )
 
 4466    Q_ENUM( LegendComponent )
 
 4477      ShowRuleDetails = 1 << 0, 
 
 
 4479    Q_ENUM( LegendJsonRenderFlag )
 
 4496    Q_ENUM( ActionType )
 
 4508      SingleFeature = 1 << 1, 
 
 4509      MultipleFeatures = 1 << 2, 
 
 4510      AllActions = Layer | SingleFeature | MultipleFeatures
 
 
 4512    Q_ENUM( MapLayerActionTarget )
 
 4533      EnabledOnlyWhenEditable = 1 << 1, 
 
 4534      EnableOnlyWhenHasGeometry = 1 << 2, 
 
 
 4536    Q_ENUM( MapLayerActionFlag )
 
 4566    Q_ENUM( AttributeActionType )
 
 4580    Q_ENUM( MetadataDateType )
 
 4611      ContinuousPalette = 17, 
 
 
 4634    Q_ENUM( RasterColorInterpretation )
 
 4650    Q_ENUM( RasterLayerType )
 
 4663      SingleBandPseudoColor, 
 
 4665      PalettedSingleBandGray, 
 
 4666      PalettedSingleBandPseudoColor, 
 
 4667      PalettedMultiBandColor, 
 
 4668      MultiBandSingleBandGray, 
 
 4669      MultiBandSingleBandPseudoColor, 
 
 
 4673    Q_ENUM( RasterDrawingStyle )
 
 4688    Q_ENUM( RasterPyramidFormat )
 
 4703    Q_ENUM( RasterBuildPyramidOption )
 
 4720    Q_ENUM( RasterIdentifyFormat )
 
 4739      BuildPyramids = 1 << 4, 
 
 4741      IdentifyValue = 1 << 6, 
 
 4742      IdentifyText = 1 << 7, 
 
 4743      IdentifyHtml = 1 << 8, 
 
 4744      IdentifyFeature = 1 << 9, 
 
 
 4747    Q_ENUM( RasterInterfaceCapability )
 
 4768      NoProviderCapabilities = 0, 
 
 4769      ReadLayerMetadata = 1 << 1, 
 
 4770      WriteLayerMetadata = 1 << 2, 
 
 4771      ProviderHintBenefitsFromResampling = 1 << 3, 
 
 4772      ProviderHintCanPerformProviderResampling = 1 << 4, 
 
 4773      ReloadData = 1 << 5, 
 
 4774      DpiDependentData = 1 << 6, 
 
 4775      NativeRasterAttributeTable = 1 << 7, 
 
 4776      BuildPyramids = 1 << 8, 
 
 
 4778    Q_ENUM( RasterProviderCapability )
 
 4800    Q_ENUM( ElevationMapCombineMethod )
 
 4853    Q_ENUM( SystemOfMeasurement )
 
 4867    Q_ENUM( MapToolUnit )
 
 4905      ChainsInternational, 
 
 4906      ChainsBritishBenoit1895A, 
 
 4907      ChainsBritishBenoit1895B, 
 
 4908      ChainsBritishSears1922Truncated, 
 
 4909      ChainsBritishSears1922, 
 
 4914      FeetBritishBenoit1895A, 
 
 4915      FeetBritishBenoit1895B, 
 
 4916      FeetBritishSears1922Truncated, 
 
 4917      FeetBritishSears1922, 
 
 4926      LinksBritishBenoit1895A, 
 
 4927      LinksBritishBenoit1895B, 
 
 4928      LinksBritishSears1922Truncated, 
 
 4929      LinksBritishSears1922, 
 
 4932      YardsBritishBenoit1895A, 
 
 4933      YardsBritishBenoit1895B, 
 
 4934      YardsBritishSears1922Truncated, 
 
 4935      YardsBritishSears1922, 
 
 
 4946    Q_ENUM( DistanceUnit )
 
 4961    Q_ENUM( DistanceUnitType )
 
 5009    Q_ENUM( VolumeUnit )
 
 5054    Q_ENUM( TemporalUnit )
 
 5074    Q_ENUM( RenderUnit )
 
 5094    Q_ENUM( LayoutUnit )
 
 5108    Q_ENUM( LayoutUnitType )
 
 5132    Q_ENUM( LayoutRenderFlag )
 
 5157    Q_ENUM( PictureFormat )
 
 5172    Q_ENUM( ScaleCalculationMethod )
 
 5187    Q_ENUM( ScaleBarAlignment )
 
 5201    Q_ENUM( ScaleBarSegmentSizeMode )
 
 5215    Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
 
 5229    Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
 
 5262    Q_ENUM( PostgresRelKind )
 
 5271      SetFieldComment = 1 << 0, 
 
 5272      SetFieldAlias = 1 << 1, 
 
 5273      SetTableComment = 1 << 2, 
 
 
 5275    Q_ENUM( DatabaseProviderConnectionCapability2 )
 
 5286      SetGeometryColumnName = 1 << 0, 
 
 5287      SetPrimaryKeyName = 1 << 1, 
 
 
 5289    Q_ENUM( DatabaseProviderTableImportCapability )
 
 5300      SaveToDatabase = 1 << 1,
 
 5301      LoadFromDatabase = 1 << 2,
 
 5302      DeleteFromDatabase = 1 << 3
 
 
 5319    Q_ENUM( UserProfileSelectionPolicy )
 
 5340    Q_ENUM( AttributeEditorType )
 
 5353    Q_ENUM( AttributeEditorContainerType )
 
 5368    Q_ENUM( AttributeFormLayout )
 
 5383    Q_ENUM( AttributeFormSuppression )
 
 5399    Q_ENUM( AttributeFormPythonInitCodeSource )
 
 5412    Q_ENUM( ExpressionType )
 
 5427    Q_ENUM( FeatureSymbologyExport )
 
 5436      AlwaysUseTileMatrixSetFromProvider = 1 << 1, 
 
 
 5438    Q_ENUM( VectorTileProviderFlag )
 
 5454      ReadLayerMetadata = 1 << 1, 
 
 
 5456    Q_ENUM( VectorTileProviderCapability )
 
 5475      AvailableNoChildren, 
 
 5476      UseLowerZoomLevelTile, 
 
 
 5478    Q_ENUM( TileAvailability )
 
 5487      ReadLayerMetadata = 1 << 1, 
 
 
 5489    Q_ENUM( TiledSceneProviderCapability )
 
 5510    Q_ENUM( TiledSceneBoundingVolumeType )
 
 5525    Q_ENUM( TileRefinementProcess )
 
 5538    Q_ENUM( TileChildrenAvailability )
 
 5547      NoHierarchyFetch = 1 << 0,  
 
 
 5549    Q_ENUM( TiledSceneRequestFlag )
 
 5566      RequiresTextures = 1 << 0,  
 
 5567      ForceRasterRender = 1 << 1, 
 
 5568      RendersTriangles = 1 << 2, 
 
 5569      RendersLines = 1 << 3, 
 
 
 5571    Q_ENUM( TiledSceneRendererFlag )
 
 5588      RA_NearestNeighbour = 0, 
 
 
 5601    Q_ENUM( GdalResampleAlgorithm )
 
 5617    Q_ENUM( VsiHandlerType )
 
 5641      MinimumPoint = 1 << 12, 
 
 5642      MaximumPoint = 1 << 13, 
 
 5643      All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance, 
 
 5644      AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance, 
 
 5645      Default = Count | Sum | Mean, 
 
 
 5647    Q_ENUM( ZonalStatistic )
 
 5669      FailedToCreateField = 8, 
 
 
 5672    Q_ENUM( ZonalStatisticResult )
 
 5698      StringMinimumLength, 
 
 5699      StringMaximumLength, 
 
 5703      StringConcatenateUnique 
 
 
 5715      CountMissing = 1 << 15, 
 
 5720      StDevSample = 1 << 5, 
 
 5727      FirstQuartile = 1 << 12, 
 
 5728      ThirdQuartile = 1 << 13, 
 
 5729      InterQuartileRange = 1 << 14, 
 
 5732      All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last 
 
 
 5757      All = Count | CountDistinct | CountMissing | Min | Max | Range, 
 
 
 5759    Q_ENUM( DateTimeStatistic )
 
 5786      All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority, 
 
 
 5788    Q_ENUM( StringStatistic )
 
 5812      SumOfSquares = 1 << 6, 
 
 5813      All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares 
 
 
 5815    Q_ENUM( RasterBandStatistic )
 
 5843    Q_ENUM( SensorThingsEntity )
 
 5855    Q_ENUM( ColorModel )
 
 5869    Q_ENUM( DocumentationApi )
 
 5878      DeveloperToolsPanel, 
 
 
 5881    Q_ENUM( DocumentationBrowser )
 
 5902    Q_ENUM( MouseHandlesAction )
 
 5913    Q_ENUM( MeshRangeLimit )
 
 5926    Q_ENUM( MeshRangeExtent )
 
 5939    Q_ENUM( PointCloudAccessType )
 
 5949      RenderOverviewAndExtents 
 
 
 5951    Q_ENUM( PointCloudZoomOutRenderBehavior )
 
 5964    Q_ENUM( SegmentCalculationMethod )
 
 5977    Q_ENUM( StacObjectType )
 
 5982    static const 
double DEFAULT_SEARCH_RADIUS_MM;
 
 5985    static const 
float DEFAULT_MAPTOPIXEL_THRESHOLD;
 
 5992    static const QColor DEFAULT_HIGHLIGHT_COLOR;
 
 5997    static const 
double DEFAULT_HIGHLIGHT_BUFFER_MM;
 
 6002    static const 
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
 
 6011    Q_DECL_DEPRECATED static const 
double SCALE_PRECISION;
 
 6017    static const 
double DEFAULT_Z_COORDINATE;
 
 6024    static const 
double DEFAULT_M_COORDINATE;
 
 6030    static const 
double UI_SCALE_FACTOR;
 
 6035    static const 
double DEFAULT_SNAP_TOLERANCE;
 
 6045    static const 
int USER_CRS_START_ID;
 
 6048    static const 
double DEFAULT_POINT_SIZE;
 
 6051    static const 
double DEFAULT_LINE_WIDTH;
 
 6054    static const 
double DEFAULT_SEGMENT_EPSILON;
 
 6060    SIP_SKIP static const 
int MAXIMUM_LAYER_PREVIEW_TIME_MS;
 
 6067    static QString defaultProjectScales();
 
 6074    static 
int geosVersionInt();
 
 6081    static 
int geosVersionMajor();
 
 6088    static 
int geosVersionMinor();
 
 6095    static 
int geosVersionPatch();
 
 6102    static QString geosVersion();
 
 6109    static QString geoNone()
 
 6111      return QStringLiteral( 
"NONE" );
 
 
 6121      return QStringLiteral( 
"EPSG:4326" );
 
 
 6130      return QStringLiteral(
 
 6131               R
"""(GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]] )""" 
 
 6141      return QStringLiteral( 
"+proj=longlat +datum=WGS84 +no_defs" );
 
 
 
 6239#define cast_to_fptr(f) f 
 6260      , mPreviousState( object->blockSignals( true ) )
 
 
 6265      mObject->blockSignals( mPreviousState );
 
 
 6273    Object *mObject = 
nullptr;
 
 6274    bool mPreviousState;
 
 
 6297CORE_EXPORT uint 
qHash( 
const QVariant &variant );
 
 6311      const double roundFactor = std::pow( 10, -
precision );
 
 6312      str = QString::number( 
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
 
 6316      str = QString::number( a, 
'f', 
precision );
 
 6317      if ( str.contains( QLatin1Char( 
'.' ) ) )
 
 6320        int idx = str.length() - 1;
 
 6321        while ( str.at( idx ) == 
'0' && idx > 1 )
 
 6325        if ( idx < str.length() - 1 )
 
 6326          str.truncate( str.at( idx ) == 
'.' ? idx : idx + 1 );
 
 6332    str = QString::number( a, 
'f', 
precision );
 
 6336  if ( str == QLatin1String( 
"-0" ) )
 
 6338    return QLatin1String( 
"0" );
 
 
 6351  const bool aIsNan = std::isnan( a );
 
 6352  const bool bIsNan = std::isnan( b );
 
 6353  if ( aIsNan || bIsNan )
 
 6354    return aIsNan && bIsNan;
 
 
 6369inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
 
 6371  const bool aIsNan = std::isnan( a );
 
 6372  const bool bIsNan = std::isnan( b );
 
 6373  if ( aIsNan || bIsNan )
 
 6374    return aIsNan && bIsNan;
 
 6376  const T diff = a - b;
 
 6377  return diff >= -epsilon && diff <= epsilon;
 
 
 6387inline bool qgsDoubleNear( 
double a, 
double b, 
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
 
 6389  return qgsNumberNear<double>( a, b, epsilon );
 
 
 6398inline bool qgsFloatNear( 
float a, 
float b, 
float epsilon = 4 * FLT_EPSILON )
 
 6400  return qgsNumberNear<float>( a, b, epsilon );
 
 
 6406  const bool aIsNan = std::isnan( a );
 
 6407  const bool bIsNan = std::isnan( b );
 
 6408  if ( aIsNan || bIsNan )
 
 6409    return aIsNan && bIsNan;
 
 6417  const double ar = std::frexp( a, &aexp );
 
 6418  const double br = std::frexp( b, &bexp );
 
 6420  return aexp == bexp &&
 
 6421         std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
 
 
 6430  const double m = ( number < 0.0 ) ? -1.0 : 1.0;
 
 6431  const double scaleFactor = std::pow( 10.0, places );
 
 6432  return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
 
 
 6443template<
class Key, 
class Value>
 
 6447  for ( 
auto it = map.constBegin(); it != map.constEnd(); it++ )
 
 6448    result += QString( 
"%1%2" ).arg( it.key() ).arg( separator );
 
 6450  result.chop( separator.size() );
 
 
 6460template<
class Key, 
class Value>
 
 6464  for ( 
auto it = map.constBegin(); it != map.constEnd(); it++ )
 
 6465    result += QString( 
"%1%2" ).arg( it.value() ).arg( separator );
 
 6467  result.chop( separator.size() );
 
 
 6478QString 
qgsSetJoin( 
const QSet<T> &set, 
const QString &separator )
 
 6481  for ( 
auto it = set.constBegin(); it != set.constEnd(); it++ )
 
 6482    result += QString( 
"%1%2" ).arg( *it ).arg( separator );
 
 6484  result.chop( separator.size() );
 
 
 6514  template<
typename To, 
typename From> 
inline To down_cast( From *f )
 
 6517      ( std::is_base_of<From,
 
 6518        typename std::remove_pointer<To>::type>::value ),
 
 6519      "target type not derived from source type" );
 
 6520    Q_ASSERT( f == 
nullptr || 
dynamic_cast<To
>( f ) != 
nullptr );
 
 6521    return static_cast<To
>( f );
 
 6525  QSet<T> listToSet( 
const QList<T> &list )
 
 6527    return QSet<T>( list.begin(), list.end() );
 
 6531  QList<T> setToList( 
const QSet<T> &set )
 
 6533    return QList<T>( set.begin(), set.end() );
 
 6546  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 6547  Q_ASSERT( metaEnum.isValid() );
 
 6549  for ( 
int idx = 0; idx < metaEnum.keyCount(); ++idx )
 
 6551    enumList.append( 
static_cast<T
>( metaEnum.value( idx ) ) );
 
 
 6563  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 6564  Q_ASSERT( metaEnum.isValid() );
 
 6565  QMap<T, QString> enumMap;
 
 6566  for ( 
int idx = 0; idx < metaEnum.keyCount(); ++idx )
 
 6568    enumMap.insert( 
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
 
 
 6580  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 6581  Q_ASSERT( metaEnum.isValid() );
 
 6582  const char *key = metaEnum.valueToKey( 
static_cast<int>( value ) );
 
 6585    *returnOk = key ? true : 
false;
 
 6587  return QString::fromUtf8( key );
 
 
 6597template<
class T> T 
qgsEnumKeyToValue( 
const QString &key, 
const T &defaultValue, 
bool tryValueAsKey = 
true,  
bool *returnOk = 
nullptr ) 
SIP_SKIP 
 6599  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 6600  Q_ASSERT( metaEnum.isValid() );
 
 6602  T v = 
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
 
 6614    if ( tryValueAsKey )
 
 6616      bool canConvert = 
false;
 
 6617      const int intValue = key.toInt( &canConvert );
 
 6618      if ( canConvert && metaEnum.valueToKey( intValue ) )
 
 6624        return static_cast<T
>( intValue );
 
 6628  return defaultValue;
 
 
 6638  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 6639  Q_ASSERT( metaEnum.isValid() );
 
 6640  int intValue = 
static_cast<int>( value );
 
 6641  const QByteArray ba = metaEnum.valueToKeys( intValue );
 
 6644  const int intValueCheck = metaEnum.keysToValue( ba );
 
 6645  bool ok = intValue == intValueCheck;
 
 6648  return ok ? QString::fromUtf8( ba ) : QString();
 
 
 6658template<
class T> T 
qgsFlagKeysToValue( 
const QString &keys, 
const T &defaultValue, 
bool tryValueAsKey = 
true,  
bool *returnOk = 
nullptr ) 
SIP_SKIP 
 6660  if ( keys.isEmpty() )
 
 6666    return defaultValue;
 
 6668  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 6669  Q_ASSERT( metaEnum.isValid() );
 
 6671  T v = 
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
 
 6683    if ( tryValueAsKey )
 
 6685      bool canConvert = 
false;
 
 6686      const int intValue = keys.toInt( &canConvert );
 
 6689        const QByteArray keyArray = metaEnum.valueToKeys( intValue );
 
 6690        const int intValueCheck = metaEnum.keysToValue( keyArray );
 
 6691        if ( !keyArray.isEmpty() && intValue == intValueCheck )
 
 6697          return T( intValue );
 
 6702  return defaultValue;
 
 
 6774CORE_EXPORT 
bool qgsVariantEqual( 
const QVariant &lhs, 
const QVariant &rhs );
 
 6786#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) 
 6794inline bool operator> ( 
const QVariant &v1, 
const QVariant &v2 )
 
 
 6808inline bool operator< ( 
const QVariant &v1, 
const QVariant &v2 )
 
 
 6815#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 
 6820template<> CORE_EXPORT 
bool qMapLessThanKey<QVariantList>( 
const QVariantList &key1, 
const QVariantList &key2 ) 
SIP_SKIP;
 
 6847class ScopedIntIncrementor
 
 6851    ScopedIntIncrementor( 
int *variable )
 
 6852      : mVariable( variable )
 
 6857    ScopedIntIncrementor( 
const ScopedIntIncrementor &other ) = 
delete;
 
 6858    ScopedIntIncrementor &operator=( 
const ScopedIntIncrementor &other ) = 
delete;
 
 6865      mVariable = 
nullptr;
 
 6868    ~ScopedIntIncrementor()
 
 6874    int *mVariable = 
nullptr;
 
 6914#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__) 
 6916#define Q_NOWARN_DEPRECATED_PUSH \ 
 6917  _Pragma("GCC diagnostic push") \ 
 6918  _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\""); 
 6919#define Q_NOWARN_DEPRECATED_POP \ 
 6920  _Pragma("GCC diagnostic pop"); 
 6921#define Q_NOWARN_UNREACHABLE_PUSH 
 6922#define Q_NOWARN_UNREACHABLE_POP 
 6924#elif defined(_MSC_VER) 
 6926#define Q_NOWARN_DEPRECATED_PUSH \ 
 6927  __pragma(warning(push)) \ 
 6928  __pragma(warning(disable:4996)) 
 6929#define Q_NOWARN_DEPRECATED_POP \ 
 6930  __pragma(warning(pop)) 
 6931#define Q_NOWARN_UNREACHABLE_PUSH \ 
 6932  __pragma(warning(push)) \ 
 6933  __pragma(warning(disable:4702)) 
 6934#define Q_NOWARN_UNREACHABLE_POP \ 
 6935  __pragma(warning(pop)) 
 6939#define Q_NOWARN_DEPRECATED_PUSH 
 6940#define Q_NOWARN_DEPRECATED_POP 
 6941#define Q_NOWARN_UNREACHABLE_PUSH 
 6942#define Q_NOWARN_UNREACHABLE_POP 
 6949#  define QGISEXTERN extern "C" __declspec( dllexport ) 
 6951#  if defined(__GNUC__) || defined(__clang__) 
 6952#    define QGISEXTERN extern "C" __attribute__ ((visibility ("default"))) 
 6954#    define QGISEXTERN extern "C" 
 6961#if __cplusplus >= 201703L 
 6962#define NODISCARD [[nodiscard]] 
 6963#elif defined(__clang__) 
 6964#define NODISCARD [[nodiscard]] 
 6965#elif defined(_MSC_VER) 
 6967#elif defined(__has_cpp_attribute) 
 6968#if __has_cpp_attribute(nodiscard) 
 6969#define NODISCARD [[nodiscard]] 
 6970#elif __has_cpp_attribute(gnu::warn_unused_result) 
 6971#define NODISCARD [[gnu::warn_unused_result]] 
 6973#define NODISCARD Q_REQUIRED_RESULT 
 6976#define NODISCARD Q_REQUIRED_RESULT 
 6979#if __cplusplus >= 201703L 
 6980#define MAYBE_UNUSED [[maybe_unused]] 
 6981#elif defined(__clang__) 
 6982#define MAYBE_UNUSED [[maybe_unused]] 
 6983#elif defined(_MSC_VER) 
 6985#elif defined(__has_cpp_attribute) 
 6986#if __has_cpp_attribute(gnu::unused) 
 6987#define MAYBE_UNUSED [[gnu::unused]] 
 7001#define BUILTIN_UNREACHABLE \ 
 7003#elif defined(__GNUC__) && !defined(__clang__) 
 7014#define BUILTIN_UNREACHABLE \ 
 7015  __builtin_unreachable(); 
 7017#define BUILTIN_UNREACHABLE 
Provides global constants and enumerations for use throughout the application.
 
DistanceUnitType
Types of distance units.
 
GnssConstellation
GNSS constellation.
 
SettingsOption
Settings options.
 
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
 
ProcessingSourceType
Processing data source types.
 
GpsQualityIndicator
GPS signal quality indicator.
 
DataItemProviderCapability
Capabilities for data item providers.
 
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
 
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
 
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
 
ProjectReadFlag
Flags which control project read behavior.
 
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
 
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
 
MapToolUnit
Type of unit of tolerance value from settings.
 
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
 
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
 
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
 
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
 
PointCloudSymbol
Rendering symbols for point cloud points.
 
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
 
GeometryValidityFlag
Geometry validity check flags.
 
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
 
ExpressionType
Expression types.
 
MapLayerActionFlag
Map layer action flags.
 
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
 
MapLayerProperty
Generic map layer properties.
 
VectorProviderCapability
Vector data provider capabilities.
 
BufferSide
Side of line to buffer.
 
RasterResamplingStage
Stage at which raster resampling occurs.
 
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
 
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
 
AltitudeClamping
Altitude clamping.
 
VectorTileProviderFlag
Flags for vector tile data providers.
 
VectorTemporalMode
Vector layer temporal feature modes.
 
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
 
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
 
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
 
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
 
CoordinateDisplayType
Formats for displaying coordinates.
 
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
 
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
 
DashPatternSizeAdjustment
Dash pattern size adjustment options.
 
GpsFixStatus
GPS fix status.
 
AnnotationItemNodeType
Annotation item node types.
 
static const char * QGIS_DEV_VERSION
The development version.
 
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
 
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
 
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
 
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
 
AngularDirection
Angular directions.
 
ContentStatus
Status for fetched or stored content.
 
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
 
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
 
LayoutUnit
Layout measurement units.
 
RelationshipStrength
Relationship strength.
 
Q_ENUM(GnssConstellation)
 
PaintEffectFlag
Flags which control how paint effects behave.
 
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
 
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
 
LegendComponent
Component of legends which can be styled.
 
Point3DShape
3D point shape types.
 
GeometryOperationResult
Success or failure of a geometry operation.
 
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
 
BrowserItemState
Browser item states.
 
AttributeEditorContainerType
Attribute editor container types.
 
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
 
FeatureRequestFilterType
Types of feature request filters.
 
MarkerClipMode
Marker clipping modes.
 
GpsNavigationStatus
GPS navigation status.
 
AnnotationItemFlag
Flags for annotation items.
 
RenderSubcomponentProperty
Rendering subcomponent properties.
 
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
 
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
 
Statistic
Available generic statistics.
 
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
 
AngleUnit
Units of angles.
 
CaptureTechnique
Capture technique.
 
SpatialIndexPresence
Enumeration of spatial index presence states.
 
BrowserItemCapability
Browser item capabilities.
 
AttributeFormSuppression
Available form types for layout of the attribute form editor.
 
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
 
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
 
LayerTreeInsertionMethod
Layer tree insertion methods.
 
RasterProviderCapability
Raster data provider capabilities.
 
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
 
LineClipMode
Line clipping modes.
 
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
 
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
 
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
 
VsiHandlerType
GDAL VSI handler types.
 
SettingsTreeNodeType
Type of tree node.
 
TilePixelRatio
DpiMode enum.
 
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
 
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
 
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
 
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
 
LabelPrioritization
Label prioritization.
 
GradientColorSource
Gradient color sources.
 
FileFilterType
Type of file filters.
 
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
 
RasterLayerType
Raster layer types.
 
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
 
ScaleBarAlignment
Scalebar alignment.
 
RasterPyramidFormat
Raster pyramid formats.
 
ProcessingMode
Types of modes which Processing widgets can be created for.
 
VectorExportResult
Vector layer export result codes.
 
DistanceUnit
Units of distance.
 
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
 
SymbolLayerFlag
Flags controlling behavior of symbol layers.
 
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
 
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
 
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
 
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
 
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
 
ScaleMethod
Scale methods.
 
SldExportOption
SLD export options.
 
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
 
FilePathType
File path types.
 
CadConstraintType
Advanced digitizing constraint type.
 
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
 
PointCountMethod
Methods which define the number of points randomly filling a polygon.
 
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
 
MapCanvasFlag
Flags controlling behavior of map canvases.
 
LayerTreeFilterFlag
Layer tree filter flags.
 
AttributeFormLayout
Available form types for layout of the attribute form editor.
 
FeatureRequestFlag
Flags for controlling feature requests.
 
VertexType
Types of vertex.
 
ShaderInterpolationMethod
Color ramp shader interpolation methods.
 
DataProviderFlag
Generic data provider flags.
 
Q_ENUM(GpsNavigationStatus)
 
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
 
RasterResamplingMethod
Resampling method for raster provider-level resampling.
 
GeometryValidationEngine
Available engines for validating geometries.
 
TransactionMode
Transaction mode.
 
Q_ENUM(ScaleToTileZoomLevelMethod)
 
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
 
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
 
RasterDrawingStyle
Raster drawing styles.
 
GeosCreationFlag
Flags which control geos geometry creation behavior.
 
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
 
GpsInformationComponent
GPS information component.
 
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
 
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
 
FileOperationFlag
File operation flags.
 
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
 
ProjectCapability
Flags which control project capabilities.
 
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
 
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
 
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
 
Q_ENUM(VectorProfileType)
 
AttributeActionType
Attribute action types.
 
TemporalNavigationMode
Temporal navigation modes.
 
ProcessingFieldParameterDataType
Processing field parameter data types.
 
StringStatistic
Available string statistics.
 
FieldDomainMergePolicy
Merge policy for field domains.
 
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
 
MessageLevel
Level for messages This will be used both for message log and message bar in application.
 
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
 
QFlags< SnappingType > SnappingTypes
Snapping types.
 
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
 
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
 
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
 
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
 
TextLayoutMode
Text layout modes.
 
PropertyType
Property types.
 
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
 
LayerFilter
Filter for layers.
 
Q_ENUM(ProviderStyleStorageCapability)
 
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
 
RasterRendererFlag
Flags which control behavior of raster renderers.
 
PythonEmbeddedMode
Authorisation to run Python Embedded in projects.
 
CrsType
Coordinate reference system types.
 
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
 
SensorThingsEntity
OGC SensorThings API entity types.
 
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
 
FieldDomainSplitPolicy
Split policy for field domains.
 
ArcGisRestServiceType
Available ArcGIS REST service types.
 
UriCleaningFlag
Flags for cleaning layer URIs.
 
RasterFileWriterResult
Raster file export results.
 
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
 
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
 
MapRecenteringMode
Modes for recentering map canvases.
 
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
 
ActionStart
Enum to determine when an operation would begin.
 
PlaybackOperation
Media playback operations.
 
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
 
QFlags< TextRendererFlag > TextRendererFlags
 
QueryStorageBackend
Stored query storage backends.
 
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
 
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
 
MarkerShape
Marker shapes.
 
StacObjectType
Available types of stac objects.
 
LegendJsonRenderFlag
Legend JSON export flags.
 
BlendMode
Blending modes defining the available composition modes that can be used when painting.
 
RasterElevationMode
Raster layer elevation modes.
 
Capitalization
String capitalization options.
 
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
 
PictureFormat
Picture formats.
 
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
 
LabelQuadrantPosition
Label quadrant positions.
 
QFlags< PlotToolFlag > PlotToolFlags
 
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
 
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
 
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
 
TextOrientation
Text orientations.
 
TemporalUnit
Temporal units.
 
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
 
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
 
UnplacedLabelVisibility
Unplaced label visibility.
 
CrsDefinitionFormat
CRS definition formats.
 
SpatialFilterType
Feature request spatial filter types.
 
VerticalAnchorPoint
Marker symbol vertical anchor points.
 
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
 
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
 
TileAvailability
Possible availability states for a tile within a tile matrix.
 
ProjectFlag
Flags which control the behavior of QgsProjects.
 
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
 
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
 
BrowserItemType
Browser item types.
 
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
 
SettingsType
Types of settings entries.
 
QFlags< SettingsOption > SettingsOptions
 
RasterTemporalMode
Raster layer temporal modes.
 
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
 
LabelingFlag
Various flags that affect drawing and placement of labels.
 
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
 
RelationshipType
Relationship types.
 
ScriptLanguageCapability
Script language capabilities.
 
RasterInterfaceCapability
Raster interface capabilities.
 
JoinStyle
Join styles for buffers.
 
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
 
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
 
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
 
TextCharacterVerticalAlignment
Text vertical alignment for characters.
 
FieldDuplicatePolicy
Duplicate policy for fields.
 
UserProfileSelectionPolicy
User profile selection policy.
 
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
 
Q_ENUM(ProfileExportType)
 
BrowserLayerType
Browser item layer types.
 
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
 
AltitudeBinding
Altitude binding.
 
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
 
Q_ENUM(ProcessingProviderFlag)
 
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
 
MapLayerActionTarget
Map layer action targets.
 
ShaderClassificationMethod
Color ramp shader classification methods.
 
ZonalStatisticResult
Zonal statistics result codes.
 
ScriptLanguage
Scripting languages.
 
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
 
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
 
TiledSceneProviderCapability
Tiled scene data provider capabilities.
 
LabelMultiLineAlignment
Text alignment for multi-line labels.
 
RasterBandStatistic
Available raster band statistics.
 
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
 
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
 
PythonEmbeddedType
Type of Python Embedded in projects.
 
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
 
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
 
TextRenderFormat
Options for rendering text.
 
DocumentationBrowser
Documentation API browser.
 
DataType
Raster data types.
 
Q_ENUM(ProfileSurfaceSymbology)
 
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
 
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
 
SystemOfMeasurement
Systems of unit measurement.
 
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
 
VerticalAxisInversion
Vertical axis inversion options for 3D views.
 
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
 
RelationshipCapability
Relationship capabilities.
 
RasterBuildPyramidOption
Raster pyramid building options.
 
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
 
NavigationMode
The navigation mode used by 3D cameras.
 
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
 
TileChildrenAvailability
Possible availability states for a tile's children.
 
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
 
LayerType
Types of layers that can be added to a map.
 
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
 
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
 
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
 
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
 
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
 
RenderUnit
Rendering size units.
 
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
 
CoordinateOrder
Order of coordinates.
 
SelectionFlag
Flags which control feature selection behavior.
 
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
 
EndCapStyle
End cap styles for buffers.
 
ScaleCalculationMethod
Scale calculation logic.
 
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
 
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
 
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
 
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
 
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
 
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
 
FieldDomainType
Types of field domain.
 
MapLayerRendererFlag
Flags which control how map layer renderers behave.
 
RenderContextFlag
Flags which affect rendering operations.
 
RasterPipeInterfaceRole
Raster pipe interface roles.
 
CoverageValidityResult
Coverage validity results.
 
DataProviderReadFlag
Flags which control data provider construction.
 
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
 
Aggregate
Available aggregates to calculate.
 
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
 
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
 
MapBoxGlStyleSourceType
Available MapBox GL style source types.
 
LayoutUnitType
Types of layout units.
 
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
 
DashPatternLineEndingRule
Dash pattern line ending rules.
 
FieldMetadataProperty
Standard field metadata values.
 
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
 
RasterRendererCapability
Raster renderer capabilities.
 
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
 
HistoryProviderBackend
History provider backends.
 
RasterExportType
Raster file export types.
 
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
 
TextVerticalAlignment
Text vertical alignment.
 
RelationshipCardinality
Relationship cardinality.
 
GradientType
Gradient types.
 
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
 
VectorProfileType
Types of elevation profiles to generate for vector sources.
 
GpsFeatureType
GPS feature types.
 
VectorLayerTypeFlag
Vector layer type flags.
 
MakeValidMethod
Algorithms to use when repairing invalid geometries.
 
RangeLimits
Describes how the limits of a range are handled.
 
QFlags< ProjectFlag > ProjectFlags
 
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
 
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
 
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
 
VectorEditResult
Specifies the result of a vector layer edit operation.
 
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
 
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
 
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
 
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
 
VolumeUnit
Units of volume.
 
AttributeEditorType
Attribute editor types.
 
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
 
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
 
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
 
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
 
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
 
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
 
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
 
ProfileExportType
Types of export for elevation profiles.
 
MeshElevationMode
Mesh layer elevation modes.
 
ProjectFileFormat
Flags which control project read behavior.
 
SnappingMode
SnappingMode defines on which layer the snapping is performed.
 
RasterColorInterpretation
Raster color interpretation.
 
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
 
LabelPlacementEngineVersion
Labeling placement engine version.
 
Q_ENUM(ProcessingAlgorithmFlag)
 
ColorModel
Color model types.
 
RendererUsage
Usage of the renderer.
 
SettingsTreeNodeOption
Options for named list nodes.
 
BabelFormatCapability
Babel GPS format capabilities.
 
PostgresRelKind
Postgres database relkind options.
 
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
 
GpsConnectionType
GPS connection types.
 
Q_ENUM(InputControllerType)
 
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
 
MouseHandlesAction
Action to be performed by the mouse handles.
 
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
 
QFlags< TextComponent > TextComponents
Text components.
 
LoadStyleFlag
Flags for loading layer styles.
 
BetweenLineConstraint
Between line constraints which can be enabled.
 
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
 
MetadataDateType
Date types for metadata.
 
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
 
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
 
RasterIdentifyFormat
Raster identify formats.
 
TextHorizontalAlignment
Text horizontal alignment.
 
SymbolFlag
Flags controlling behavior of symbols.
 
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
 
HttpMethod
Different methods of HTTP requests.
 
WkbType
The WKB type describes the number of dimensions a geometry has.
 
QFlags< SldExportOption > SldExportOptions
 
SymbolCoordinateReference
Symbol coordinate reference modes.
 
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
 
TileRefinementProcess
Tiled scene tile refinement processes.
 
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
 
SelectionRenderingMode
Specifies how a selection should be rendered.
 
InputControllerType
Input controller types.
 
TextRendererFlag
Flags which control the behavior of rendering text.
 
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
 
CrsAxisDirection
Coordinate reference system axis directions.
 
ProcessingModelChildParameterSource
Processing model child parameter sources.
 
QFlags< MarkerLinePlacement > MarkerLinePlacements
 
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
 
CrsWktVariant
Coordinate reference system WKT formatting variants.
 
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
 
DocumentationApi
Documentation API.
 
AutoRefreshMode
Map layer automatic refresh modes.
 
AnnotationPlacementMode
Annotation item placement modes.
 
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
 
SceneMode
The 3D scene mode used in 3D map views.
 
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
 
SettingsOrigin
The setting origin describes where a setting is stored.
 
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
 
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
 
LabelOverlapHandling
Label overlap handling.
 
FeatureSymbologyExport
Options for exporting features considering their symbology.
 
QFlags< LayerFilter > LayerFilters
 
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
 
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
 
TextComponent
Text components.
 
DateTimeStatistic
Available date/time statistics.
 
AnimationState
Animation states.
 
TransformDirection
Indicates the direction (forward or inverse) of a transform.
 
LightSourceType
Light source types for 3D scenes.
 
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
 
QFlags< HistoryProviderBackend > HistoryProviderBackends
 
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
 
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
 
UpsideDownLabelHandling
Handling techniques for upside down labels.
 
DeviceConnectionStatus
GPS connection status.
 
ProcessingNumberParameterType
Processing numeric parameter data types.
 
MapSettingsFlag
Flags which adjust the way maps are rendered.
 
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
 
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
 
SelectBehavior
Specifies how a selection should be applied.
 
LayoutRenderFlag
Flags for controlling how a layout is rendered.
 
Utility class that encapsulates an action based on vector attributes.
 
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
 
Utility functions for working with ArcGIS REST services.
 
An abstract base class for any elements of a drag and drop form.
 
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
 
Represents a coordinate reference system (CRS).
 
Abstract base class for curved geometry type.
 
Base class for all items in the model.
 
Abstract base class for spatial data provider implementations.
 
Calculator for summary statistics and aggregates for a list of datetimes.
 
Wraps a request for features to a vector layer (or directly its vector data provider).
 
An interface for objects which provide features via a getFeatures method.
 
Container of fields for a vector layer.
 
A geometry is the spatial representation of a feature.
 
A fill symbol layer which draws a smooth color gradient over a polygon.
 
A vector feature renderer which uses numeric attributes to classify features into different ranges.
 
Stores global configuration for labeling engine.
 
Contains constants and enums relating to labeling.
 
A browser item that represents a layer that can be opened with one of the providers.
 
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
 
Stores information relating to the current rendering settings for a layout.
 
Contains detailed styling information relating to how a layout legend should be rendered.
 
A proxy model which provides an easy to use model to display the list of layers in widgets.
 
Base class for all map layer types.
 
Contains configuration for rendering maps.
 
Abstract base class for marker symbol layers.
 
Registry for temporary fetched files.
 
Contains miscellaneous painting utility functions.
 
Contains settings for how a map layer will be labeled.
 
Abstract base class for 2d point cloud renderers.
 
Abstract base class for processing algorithms.
 
Contains information about the context in which a processing algorithm is executed.
 
Encapsulates settings relating to a feature source input to a processing algorithm.
 
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
 
A datetime (or pure date or time) parameter for processing algorithms.
 
Base class for the definition of processing parameters.
 
A vector layer or feature source field parameter for processing algorithms.
 
An input file or folder parameter for processing algorithms.
 
A numeric parameter for processing algorithms.
 
Makes metadata of processing parameters available.
 
Abstract base class for processing providers.
 
Contains enumerations and other constants for use in processing algorithms and parameters.
 
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
 
A store for object properties.
 
A fill symbol layer which places markers at random locations within polygons.
 
The RasterBandStats struct is a container for statistics about a single raster band.
 
Implementation of data provider temporal properties for QgsRasterDataProviders.
 
Base class for raster data providers.
 
The raster file writer which allows you to save a raster to a new file.
 
Base class for processing filters like renderers, reprojector, resampler etc.
 
Implementation of map layer temporal properties for raster layers.
 
Represents a raster layer.
 
Describes the origin of minimum and maximum values in a raster.
 
Contains a pipeline of raster interfaces for sequential raster processing.
 
Represents a relationship between two vector layers.
 
Contains information about the context of a rendering operation.
 
Stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.
 
Represents a settings entry and provides methods for reading and writing settings values.
 
RAII signal blocking class.
 
Object * operator->()
Returns pointer to blocked QObject.
 
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
 
Abstract base class for simple marker symbol layers.
 
Stores configuration of snapping settings for the project.
 
Calculator for summary statistics for a list of doubles.
 
Calculator for summary statistics and aggregates for a list of strings.
 
Utility functions for working with strings.
 
Contains utility functions for working with symbols and symbol layers.
 
Abstract base class for all rendered symbols.
 
Base class for templated line symbols, e.g.
 
Implements a temporal controller based on a frame by frame navigation and animation.
 
Container for all settings relating to text rendering.
 
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
 
Provides calculations for tolerance values in map units.
 
Helper functions for various unit types.
 
Implementation of data provider temporal properties for QgsVectorDataProviders.
 
Base class for vector data providers.
 
A convenience class for writing vector layers to disk based formats (e.g.
 
A convenience class for exporting vector layers to a destination data provider.
 
Implementation of map layer temporal properties for vector layers.
 
Represents a vector layer which manages a vector based dataset.
 
Contains settings for simplifying geometries fetched from a vector layer.
 
Handles storage of information regarding WKB types and their properties.
 
FeatureCountState
Enumeration of feature count states.
 
@ Points
Point based rendering, requires point data.
 
As part of the API refactoring and improvements which landed in QGIS
 
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
 
Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not asso...
 
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
 
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
 
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
 
Q_DECL_DEPRECATED const long GEOSRID
Numeric ID for the EPSG:4326 geographic coordinate system.
 
T qgsEnumKeyToValue(const QString &key, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given key of an enum.
 
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
 
QString qgsMapJoinValues(const QMap< Key, Value > &map, const QString &separator)
Joins all the map values into a single string with each element separated by the given separator.
 
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
 
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
 
QString qgsMapJoinKeys(const QMap< Key, Value > &map, const QString &separator)
Joins all the map keys into a single string with each element separated by the given separator.
 
T qgsFlagKeysToValue(const QString &keys, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given keys of a flag.
 
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
 
unsigned long long qgssize
Qgssize is used instead of size_t, because size_t is stdlib type, unknown by SIP, and it would be har...
 
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
 
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
 
CORE_EXPORT int qgsVariantCompare(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values.
 
QString qgsSetJoin(const QSet< T > &set, const QString &separator)
Joins all the set values into a single string with each element separated by the given separator.
 
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
 
const QList< T > qgsEnumList()
Returns a list all enum entries.
 
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
 
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
 
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
 
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
 
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
 
QMap< QString, QString > QgsStringMap
 
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
 
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
 
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
 
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference)
 
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
 
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
 
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
 
#define QHASH_FOR_CLASS_ENUM(T)
 
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
 
#define SIP_ENUM_BASETYPE(type)
 
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
 
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
 
#define SIP_MONKEYPATCH_SCOPEENUM
 
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
 
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
 
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
 
Utility class for identifying a unique vertex within a geometry.