[geos-devel] initGEOS/finishGEOS and multiple subsystems
strk at refractions.net
strk at refractions.net
Fri Jun 30 17:26:35 EDT 2006
On Fri, Jun 30, 2006 at 05:05:02PM -0400, Frank Warmerdam wrote:
> Mateusz Loskot wrote:
> >strk at refractions.net wrote:
> >>With GEOS-3.0.0 initGEOS/finishGEOS do not instantiate/delete
> >>a GeometryFactory anymore. Rather the default GeometryFactory
> >>is used. This should fix the problem.
> >
> >What about backport to 2.2.x with ref-counted proposal?
> >Such changes could would not affect existing code.
> >
> >I'd like to repeat that in general, global factory should be replaced
> >with shared object (e.g. managed by shared_ptr from Boost or our own
> >home-made shared smart pointer).
> >static factory can cause problems too:
> >http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.12
>
> Mateusz,
>
> I personally hate static objects of any complexity because I don't
> like a lot of randomly ordered stuff happening before main() even
> starts. I would much prefer the referenced counted implementation in
> 2.2.x and in head. I'm not sure how smart pointers would help since
> the functions don't return a handle for the caller to hold.
If we had to add ref-counting I'd like to do it in a widely usable
manner. Something like boost's shared_ptr<> but w/out the external
requirement. Beside GeometryFactories there might be much more uses
for it.
--strk;
More information about the geos-devel
mailing list