Polymorphic Type Conversions

ObjectARX may be compiled on 32- and 64-bit systems. As such, various ObjectARX specific types are converted to appropriate values for these systems. Below is a table indicating the type in ObjectARX, and what it evaluates to for 32- and 64-bit systems:

Typer Name Type in 32-bit Compilation Type in 64-Bit Compilation
Adesk::IntPtr int __int64
Adesk::UIntPtr unsigned int unsigned__int64
Adesk::LongPtr long __int64
AdeskULongPtr unsigned long unsigned__int64
Adesk::IntDbId long __int64
Adesk::GsMarker int __int64

For reference, the table below specific Microsoft specific types, and how they evaluate in 32- and 64-bit systems:

Typer Name 32-bit Compilation 64-Bit Compilation
DWORD_PTR unsigned long unsigned__int64
HALF_PTR short int
INT_PTR int __int64
LONG_PTR long __int64
SIZE_T unsigned long unsigned__int64
SSIZE_T long __int64
UHALF_PTR unsigned short unsigned int
UNIT_PTR unsigned int unsigned__in64
ULONG_PTR unsigned long unsigned__int64