18#include "igtl_typeconfig.h"
281#if IGTL_SIZEOF_CHAR == 1
282typedef unsigned char igtl_uint8;
283typedef signed char igtl_int8;
285# error "No native data type can represent an 8-bit integer."
289#if IGTL_SIZEOF_SHORT == 2
290typedef unsigned short igtl_uint16;
291typedef signed short igtl_int16;
292#elif IGTL_SIZEOF_INT == 2
293typedef unsigned int igtl_uint16;
294typedef signed int igtl_int16;
296# error "No native data type can represent a 16-bit integer."
300#if IGTL_SIZEOF_INT == 4
301typedef unsigned int igtl_uint32;
302typedef signed int igtl_int32;
303#elif IGTL_SIZEOF_LONG == 4
304typedef unsigned long igtl_uint32;
305typedef signed long igtl_int32;
307# error "No native data type can represent a 32-bit integer."
311#if defined(IGTL_TYPE_USE_LONG_LONG) && IGTL_SIZEOF_LONG_LONG == 8
312typedef unsigned long long igtl_uint64;
313typedef signed long long igtl_int64;
314#elif IGTL_SIZEOF_INT == 8
315typedef unsigned int igtl_uint64;
316typedef signed int igtl_int64;
317#elif IGTL_SIZEOF_LONG == 8
318typedef unsigned long igtl_uint64;
319typedef signed long igtl_int64;
320#elif defined(IGTL_TYPE_USE___INT64) && IGTL_SIZEOF___INT64 == 8
321typedef unsigned __int64 igtl_uint64;
322typedef signed __int64 igtl_int64;
323#elif defined(IGTL_TYPE_USE_INT64_T) && IGTL_SIZEOF_INT64_T == 8
324typedef unsigned int64_t igtl_uint64;
325typedef signed int64_t igtl_int64;
327# error "No native data type can represent a 64-bit integer."
331#if IGTL_SIZEOF_FLOAT == 4
332typedef float igtl_float32;
334# error "No native data type can represent a 32-bit floating point value."
338#if IGTL_SIZEOF_DOUBLE == 8
339typedef double igtl_float64;
341# error "No native data type can represent a 64-bit floating point value."
@ IANA_TYPE_OSD_EBCDIC_DF03_IRV
@ IANA_TYPE_ISO_8859_2_Windows_Latin_2
@ IANA_TYPE_ISO_8859_1_Windows_3_1_Latin_1
@ IANA_TYPE_JUS_I_B1_003_serb
@ IANA_TYPE_EBCDIC_AT_DE_A
@ IANA_TYPE_CSA_Z243_4_1985_gr
@ IANA_TYPE_ISO_Unicode_IBM_1261
@ IANA_TYPE_ISO_646_basic_1983
@ IANA_TYPE_PC8_Danish_Norwegian
@ IANA_TYPE_Extended_UNIX_Code_Fixed_Width_for_Japanese
@ IANA_TYPE_ISO_6937_2_25
@ IANA_TYPE_ISO_Unicode_IBM_1268
@ IANA_TYPE_CSA_Z243_4_1985_2
@ IANA_TYPE_Adobe_Symbol_Encoding
@ IANA_TYPE_NATS_DANO_ADD
@ IANA_TYPE_JIS_C6229_1984_b
@ IANA_TYPE_ISO_8859_9_Windows_Latin_5
@ IANA_TYPE_JIS_C6229_1984_b_add
@ IANA_TYPE_INIS_cyrillic
@ IANA_TYPE_OSD_EBCDIC_DF04_1
@ IANA_TYPE_JIS_C6220_1969_jp
@ IANA_TYPE_JIS_C6229_1984_kana
@ IANA_TYPE_JIS_C6229_1984_hand_add
@ IANA_TYPE_JIS_C6226_1983
@ IANA_TYPE_ISO_Unicode_IBM_1276
@ IANA_TYPE_Adobe_Standard_Encoding
@ IANA_TYPE_ISO_2022_JP_2
@ IANA_TYPE_ISO_5427_1981
@ IANA_TYPE_videotex_suppl
@ IANA_TYPE_ISO_10646_J_1
@ IANA_TYPE_EBCDIC_DK_NO_A
@ IANA_TYPE_UNICODE_1_1_UTF_7
@ IANA_TYPE_JIS_C6229_1984_hand
@ IANA_TYPE_CSA_Z243_4_1985_1
@ IANA_TYPE_ISO_Unicode_IBM_1264
@ IANA_TYPE_ISO_5428_1980
@ IANA_TYPE_KS_C_5601_1987
@ IANA_TYPE_ISO_10646_UCS_4
@ IANA_TYPE_Microsoft_Publishing
@ IANA_TYPE_ISO_10646_UCS_2
@ IANA_TYPE_ISO_646_irv_1983
@ IANA_TYPE_NATS_SEFI_ADD
@ IANA_TYPE_ISO_2033_1983
@ IANA_TYPE_ISO_10646_Unicode_Latin1
@ IANA_TYPE_JIS_C6226_1978
@ IANA_TYPE_NF_Z_62_010_1973
@ IANA_TYPE_Latin_greek_1
@ IANA_TYPE_GOST_19768_74
@ IANA_TYPE_ISO_10646_UTF_1
@ IANA_TYPE_ISO_Unicode_IBM_1265
@ IANA_TYPE_JUS_I_B1_003_mac
@ IANA_TYPE_ISO_2022_CN_EXT
@ IANA_TYPE_KOI7_switched
@ IANA_TYPE_JIS_C6229_1984_a
@ IANA_TYPE_ISO_8859_1_Windows_3_0_Latin_1
@ IANA_TYPE_OSD_EBCDIC_DF04_15
@ IANA_TYPE_ANSI_X3_110_1983
@ IANA_TYPE_NC_NC00_10_81
@ IANA_TYPE_ISO_10367_box
@ IANA_TYPE_EBCDIC_FI_SE_A
@ IANA_TYPE_JIS_X0212_1990
@ IANA_TYPE_ISO_6937_2_add
@ IANA_TYPE_ECMA_cyrillic
@ IANA_TYPE_ISO_8859_supp
@ IANA_TYPE_ISO_10646_UCS_Basic
@ IANA_TYPE_JIS_C6220_1969_ro
@ IANA_TYPE_Ventura_International