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