[geos-devel] Splitting _r and non _r functions in 2 different .h ?

Even Rouault even.rouault at mines-paris.org
Wed Jun 18 03:24:48 PDT 2014

Le mardi 17 juin 2014 23:07:52, Even Rouault a écrit :
> Hi,
> Currently it is difficult to ensure that ones code only uses the _r C API.
> I would propose to put the 2 kind of API into 2 separate files.
> geos_c_r.h would contain the _r C API only, and the few requirements
> (typedefs, etc...) self sufficient so that libraries/applications using
> GEOS might just include geos_c_r.h.
> geos_c.h would include geos_c_r.h, for backward compatibility.
> If that sounds good, I'll propose a patch for that.

Thinking more about this, for the sake of simplicity of user code of GEOS, I'd 
rather suggest


Here go normal declarations (non XXXXX_r symbols)

Here go declarations of XXXXX_r  symbols

end of file

So user code would do

#include <geos_c.h>

That way it would work with both newer GEOS versions and older ones without 
trying to figure out which GEOS version is included. Which requires including 
geos_c.h ....

> Even

Geospatial professional services

More information about the geos-devel mailing list