22.05.2015, 11:38, Ari Jolma kirjoitti:
It seems that there are quite a few interface methods with two
versions where the only difference is whether GIntBig is used or not.
Also some methods do not have GIntBig when they actually should use it
since it is in the GDAL API.
I found out that at least in Swig Perl default typemaps have long long
and unsigned long long. Thus using GIntBig should mostly be just the
case of saying
%apply (long long) { GIntBig };
At least Python, Java and CSharp seem to have default typemaps for
long long and unsigned long long.
However, what GIntBig really is, is a configure time decision. That
should be somehow propagated to the bindings.
It is a compile time decision. It can be propagated like this (in
interface file) (copied a piece of cpl_port.h):
%include "../../port/cpl_config.h"
#if defined(WIN32) && defined(_MSC_VER)
typedef __int64 GIntBig;
typedef unsigned __int64 GUIntBig;
#elif HAVE_LONG_LONG
typedef long long GIntBig;
typedef unsigned long long GUIntBig;
#else
typedef long GIntBig;
typedef unsigned long GUIntBig;
#endif
Ari
Ari
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev