[geos-devel] Namespaces and headers split

Paul Ramsey pramsey at refractions.net
Fri Mar 24 08:12:40 EST 2006


Won't be time until Monday or Tuesday next, as I am away until  
then... you can use the intervening time to be sure you are sure...
:)
P
On 24-Mar-06, at 1:23 AM, strk at refractions.net wrote:

> Yes, taking include out of source/ seems fine to me.
> CAPI should still reside outside of the main src/ IMHO, as
> it's really an additional interface, and a separate library.
>
> Also, renaming 'source' to 'src' seems good.
> Time for SVN ?
>
> --strk;
>
> On Fri, Mar 24, 2006 at 02:13:27AM +0100, Mateusz Å?oskot wrote:
>> strk at refractions.net wrote:
>>> I've completed the namespaces and headers split step.
>>
>> Great work!
>>
>>> GEOS namespaces now reflect JTS packages, and all classes are named
>>> after JTS classes/interfaces. There are now duplicated names, but in
>>> different namespaces (as it is for JTS).
>>
>> Are behind those duplicated names also duplicated types?
>>
>> If you don't mind, I'd have one more suggestion.
>> Currently, the source tree is quite complex and the main trunk with
>> implementation files (.cpp) includes its mirror in form of headers  
>> subdirs.
>> Here is short example presenting how does it look like now:
>>
>> /geos/capi
>> /geos/source/operation/buffer
>> /geos/source/headers/geos
>> /geos/source/headers/geos/operation/buffer
>>
>> So, as you can see, headers directory has the same structure
>> (operation/buffer) but the only difference is that it contains  
>> headers
>> (.h) files.
>> Shortly, GEOS follows the concept clear separation of headers and
>> implementation files, just like common GNU project structure, that  
>> includes:
>>
>> /project-name/src
>> /project-name/include
>>
>> Now, my suggestion is to make GEOS' structure more clear by  
>> arranging it
>> in real GNU style.
>>
>> Here is new version of the example above:
>>
>> /geos/src/capi
>> /geos/src/operation/buffer
>> /geos/include/capi
>> /geos/include/operation/buffer
>>
>>
>> In my opinion, the this could make the structure better readable and
>> clear. As wall as less deep, so it's would make if easier to navigate
>> through it.
>> Note, that there would not be much problem with header files  
>> inclusion,
>> because GEOS' implementation files use include path based on -I  
>> compiler
>> definition.
>>
>>
>> What do you think about my suggestion?
>>
>> Cheers
>> -- 
>> Mateusz řoskot
>> http://mateusz.loskot.net
>> _______________________________________________
>> geos-devel mailing list
>> geos-devel at geos.refractions.net
>> http://geos.refractions.net/mailman/listinfo/geos-devel
>
> -- 
>
>  /"\    ASCII Ribbon Campaign
>  \ /    Respect for low technology.
>   X     Keep e-mail messages readable by any computer system.
>  / \    Keep it ASCII.
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel




More information about the geos-devel mailing list