logo       

Re: initGEOS/finishGEOS and multiple subsystems: msg#00114

gis.geos.devel

Subject: Re: initGEOS/finishGEOS and multiple subsystems

On Fri, Jun 30, 2006 at 05:05:02PM -0400, Frank Warmerdam wrote:
> Mateusz Loskot wrote:
> >strk@xxxxxxxxxxxxxxx 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;


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise