PathEngine home previous: Miscellaneous API Issuesnext: Error Handlers
Contents, Programmers Guide, Applying the SDK, Miscellaneous API Issues, Integer Typedefs

Integer Typedefs

The PathEngine API headers define typedefs for integer types so that bit size and range for these types is consistent across compilation platforms.

tSigned32 is used for signed 32 bit integers.
On most supported platforms this typedef is equivalent to the long built in type, but when compiling with GCC for x64 architecture longs have 64 bits, and this typedef is then equivalent to the int built in type.

tUnsigned32 is used for usigned 32 bit integers.
On most supported platforms this typedef is equivalent to the unsigned long built in type, but when compiling with GCC for x64 architecture unsigned longs have 64 bits, and this typedef is then equivalent to the unsigned int built in type.

The following preprocessor logic is used at the top of the API headers to detect the compilation platform, and set these typedefs up accordingly:

#if defined(__GNUC__) && defined(__x86_64__)
typedef int tSigned32;
typedef unsigned int tUnsigned32;
#else
typedef long tSigned32;
typedef unsigned long tUnsigned32;
#endif		

Documentation for PathEngine release 5.17 - Copyright © 2002-2008 PathEnginenext: Error Handlers