[postgis-devel] lwgeom_*_in_place()
Paul Ramsey
pramsey at cleverelephant.ca
Wed Oct 4 06:27:21 PDT 2017
> On Oct 4, 2017, at 12:43 AM, Sandro Santilli <strk at kbt.io> wrote:
>
> On Tue, Oct 03, 2017 at 12:28:54PM -0700, Paul Ramsey wrote:
>>> On Oct 3, 2017, at 12:18 PM, Sandro Santilli <strk at kbt.io> wrote:
>>>
>>> I think taking a non-const LWGEOM pointer should be enough.
>>>
>>> I'm not enthusiast about adding thos 9 characters to each
>>> and every function.
>>
>> Well, since we can’t to function over-loading, we’ll need to have *some* signature difference, have a shorter-yet-still-evocative suggestion?
>
> We don't need both versions of all functions, theoretically
> we could aim to have all in-place versions, delegating any
> cloning to caller.
>
> But when doing the copy internally would be faster
> (say when no copy would happen if there's nothing to do?)
> how about adding a _rw for "read-write” ?
I don’t understand the caveat “when doing the copy internally would be faster”.
I’ve started on creating in_place variants, now, I’m tempted to just commit them
as they come, and since they have nice big signatures we can re-name them
as we wish with a simple search/replace.
(The patch is getting larger and larger, so the sooner I land it, the better…)
P
>
> I see "_ro" and "_rw" already used in the codebase:
>
> extern int getPoint2d_p_ro(const POINTARRAY *pa, int n, POINT2D **point);
> extern int getPoint2d_p(const POINTARRAY *pa, int n, POINT2D *point);
>
> extern LWPOINTITERATOR* lwpointiterator_create(const LWGEOM* g);
> extern LWPOINTITERATOR* lwpointiterator_create_rw(LWGEOM* g);
>
> --strk;
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-devel
More information about the postgis-devel
mailing list