D bindings for Shapefile C Library

Craig Dillabaugh cdillaba at cg.scs.carleton.ca
Wed Jan 29 06:50:55 PST 2014


On Wednesday, 29 January 2014 at 14:34:56 UTC, Gary Willoughby 
wrote:
> A few things i tend to do when porting headers:
>
> 1). 
> https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L267
>
> 'const char *filename' should usually be translated to 
> 'const(char)* filename',
> 'const double * padfX' => 'const(double)* padfX'
> etc..
>
> Reference:
> http://forum.dlang.org/thread/qvjjzoxoufxnxzokywgq@forum.dlang.org
>
> 2). 
> https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L275
>
> Underscores on identifiers that match keywords are usually 
> added to the end.
>
> Reference:
> http://dlang.org/dstyle.html
>
> 3). 
> https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L263
> longs/ulongs tend to be substituted for c_long/c_ulong from 
> core.stdc.config.
>
> Reference:
> http://dlang.org/interfaceToC.html
>
> 4). 
> https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L721
> I tend to add const to all char* types as above.
>
> In general, add 'nothrow' to all functions and move the '*' to 
> be part of the type. e.g.:
> 'const(char)* text' instead of 'const(char) *text', this is my 
> own personal preference though. :p

Thanks very much.


More information about the Digitalmars-d-announce mailing list