[gdal-dev] [gdal 3.12beta1] OGRFeature::GetDefnRef now returns a const pointer
Even Rouault
even.rouault at spatialys.com
Tue Oct 21 10:08:15 PDT 2025
> Encapsulating the object into a wrapper when returning the object to a
> language with automatic GC.
>
> If I don't do this, I will have to keep a reference to the layer or
> the feature. Or clone it.
I see different options:
1) we revert that change. Downside: users may believe that they can
modify the OGRFeatureDefn* instance, which can potentially cause crashes
if they are OGRFeature* based on it (that was the rationale for
const'ifying)
2) we make OGRFeatureDefn::Reference() and Dereference() const methods.
But that's a clear violation of const semantics, given that we have a
GetRefCount() and thus the observable state is modified, so not
something I'd be super keen doing
3) the caller of OGRFeature::GetDefnRef() takes responsibility for
const_cast'ing the const pointer to a non-const pointer. For the purpose
of just modifying the ref counter, that's fine.
--
http://www.spatialys.com
My software is free, but my time generally not.
More information about the gdal-dev
mailing list