[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