GDAL

Classes | Macros | Typedefs | Functions
ogrsf_frmts.h File Reference

Classes related to registration of format support, and opening datasets. More...

`#include "cpl_progress.h"`
`#include "ogr_feature.h"`
`#include "ogr_featurestyle.h"`
`#include "gdal_priv.h"`
`#include <memory>`

Go to the source code of this file.

## Classes
class | OGRLayer
| This class represents a layer of simple features, with access methods. More...
class | OGRGetNextFeatureThroughRaw< BaseLayer >
| Template class offering a GetNextFeature() implementation relying on GetNextRawFeature() More...
class | OGRDataSource
| LEGACY class. More...
class | OGRSFDriver
| LEGACY class. More...
class | OGRSFDriverRegistrar
| LEGACY class. More...

## Macros
#define | DEFINE_GET_NEXT_FEATURE_THROUGH_RAW(BaseLayer)
| Utility macro to define GetNextFeature() through GetNextRawFeature() More...

## Typedefs
using | OGRLayerUniquePtr = std::unique_ptr< OGRLayer >
| Unique pointer type for OGRLayer. More...

## Functions
OGRLayer::FeatureIterator | begin (OGRLayer *poLayer)
| Return begin of feature iterator. More...
OGRLayer::FeatureIterator | end (OGRLayer *poLayer)
| Return end of feature iterator. More...

## Detailed Description

Classes related to registration of format support, and opening datasets.

## Macro Definition Documentation

## ◆ DEFINE_GET_NEXT_FEATURE_THROUGH_RAW

#define DEFINE_GET_NEXT_FEATURE_THROUGH_RAW | ( |  | BaseLayer | ) |

Value:
private: \
friend class OGRGetNextFeatureThroughRaw<BaseLayer>; \
public: \
OGRFeature* GetNextFeature() override { return OGRGetNextFeatureThroughRaw<BaseLayer>::GetNextFeature(); }
OGRGetNextFeatureThroughRaw
Template class offering a GetNextFeature() implementation relying on GetNextRawFeature()
Definition: ogrsf_frmts.h:309
OGRGetNextFeatureThroughRaw::GetNextFeature
OGRFeature * GetNextFeature()
Implement OGRLayer::GetNextFeature(), relying on BaseLayer::GetNextRawFeature()
Definition: ogrsf_frmts.h:313

Utility macro to define GetNextFeature() through GetNextRawFeature()

## Typedef Documentation

## ◆ OGRLayerUniquePtr

using OGRLayerUniquePtr = std::unique_ptr<OGRLayer>

Unique pointer type for OGRLayer.

Since
  GDAL 3.2

## Function Documentation

## ◆ begin()

OGRLayer::FeatureIterator begin | ( | OGRLayer * | poLayer | ) |
| inline

Return begin of feature iterator.

Using this iterator for standard range-based loops is safe, but due to implementation limitations, you shouldn't try to access (dereference) more than one iterator step at a time, since the std::unique_ptr<OGRFeature> reference is reused.

Only one iterator per layer can be active at a time.

Since
  GDAL 2.3

See also
  OGRLayer::begin()

## ◆ end()

OGRLayer::FeatureIterator end | ( | OGRLayer * | poLayer | ) |
| inline

Return end of feature iterator.

See also
  OGRLayer::end()