nlib
IntTypes.h
1 
2 #pragma once
3 #ifndef INCLUDE_NN_NLIB_INTTYPES_H_
4 #define INCLUDE_NN_NLIB_INTTYPES_H_
5 
6 #ifdef _MSC_VER
7 
8 #define PRId8 "d"
9 #define PRId16 "hd"
10 #define PRId32 "I32d"
11 #define PRId64 "I64d"
12 #define PRIdLEAST16 "hd"
13 #define PRIdLEAST32 "I32d"
14 #define PRIdLEAST64 "I64d"
15 #define PRIdFAST16 "hd"
16 #define PRIdFAST32 "I32d"
17 #define PRIdFAST64 "I64d"
18 #define PRIdPTR "Id"
19 
20 #define PRIi8 "i"
21 #define PRIi16 "hi"
22 #define PRIi32 "I32i"
23 #define PRIi64 "I64i"
24 #define PRIiLEAST16 "hi"
25 #define PRIiLEAST32 "I32i"
26 #define PRIiLEAST64 "I64i"
27 #define PRIiFAST16 "hi"
28 #define PRIiFAST32 "I32i"
29 #define PRIiFAST64 "I64i"
30 #define PRIiPTR "Ii"
31 
32 #define PRIu8 "u"
33 #define PRIu16 "hu"
34 #define PRIu32 "I32u"
35 #define PRIu64 "I64u"
36 #define PRIuLEAST16 "hu"
37 #define PRIuLEAST32 "I32u"
38 #define PRIuLEAST64 "I64u"
39 #define PRIuFAST16 "hu"
40 #define PRIuFAST32 "I32u"
41 #define PRIuFAST64 "I64u"
42 #define PRIuPTR "Iu"
43 
44 #define PRIx8 "x"
45 #define PRIx16 "hx"
46 #define PRIx32 "I32x"
47 #define PRIx64 "I64x"
48 #define PRIxLEAST16 "hx"
49 #define PRIxLEAST32 "I32x"
50 #define PRIxLEAST64 "I64x"
51 #define PRIxFAST16 "hx"
52 #define PRIxFAST32 "I32x"
53 #define PRIxFAST64 "I64x"
54 #define PRIxPTR "Ix"
55 
56 #define PRIX8 "X"
57 #define PRIX16 "hX"
58 #define PRIX32 "I32X"
59 #define PRIX64 "I64X"
60 #define PRIXLEAST16 "hX"
61 #define PRIXLEAST32 "I32X"
62 #define PRIXLEAST64 "I64X"
63 #define PRIXFAST16 "hX"
64 #define PRIXFAST32 "I32X"
65 #define PRIXFAST64 "I64X"
66 #define PRIXPTR "IX"
67 
68 #define PRIo8 "o"
69 #define PRIo16 "ho"
70 #define PRIo32 "I32o"
71 #define PRIo64 "I64o"
72 #define PRIoLEAST16 "ho"
73 #define PRIoLEAST32 "I32o"
74 #define PRIoLEAST64 "I64o"
75 #define PRIoFAST16 "ho"
76 #define PRIoFAST32 "I32o"
77 #define PRIoFAST64 "I64o"
78 #define PRIoPTR "Io"
79 
80 #define PRIdMAX "I64d"
81 #define PRIiMAX "I64i"
82 #define PRIuMAX "I64u"
83 #define PRIxMAX "I64x"
84 #define PRIXMAX "I64X"
85 #define PRIoMAX "I64o"
86 
87 #define SCNd8 "d"
88 #define SCNd16 "hd"
89 #define SCNd32 "I32d"
90 #define SCNd64 "I64d"
91 #define SCNdLEAST16 "hd"
92 #define SCNdLEAST32 "I32d"
93 #define SCNdLEAST64 "I64d"
94 #define SCNdFAST16 "hd"
95 #define SCNdFAST32 "I32d"
96 #define SCNdFAST64 "I64d"
97 #ifdef _WIN64
98 #define SCNdPTR "I64d"
99 #else
100 #define SCNdPTR "Id"
101 #endif
102 
103 #define SCNi8 "i"
104 #define SCNi16 "hi"
105 #define SCNi32 "I32i"
106 #define SCNi64 "I64i"
107 #define SCNiLEAST16 "hi"
108 #define SCNiLEAST32 "I32i"
109 #define SCNiLEAST64 "I64i"
110 #define SCNiFAST16 "hi"
111 #define SCNiFAST32 "I32i"
112 #define SCNiFAST64 "I64i"
113 #ifdef _WIN64
114 #define SCNiPTR "I64i"
115 #else
116 #define SCNiPTR "Ii"
117 #endif
118 
119 #define SCNu8 "u"
120 #define SCNu16 "hu"
121 #define SCNu32 "I32u"
122 #define SCNu64 "I64u"
123 #define SCNuLEAST16 "hu"
124 #define SCNuLEAST32 "I32u"
125 #define SCNuLEAST64 "I64u"
126 #define SCNuFAST16 "hu"
127 #define SCNuFAST32 "I32u"
128 #define SCNuFAST64 "I64u"
129 #ifdef _WIN64
130 #define SCNuPTR "I64u"
131 #else
132 #define SCNuPTR "Iu"
133 #endif
134 
135 #define SCNx8 "x"
136 #define SCNx16 "hx"
137 #define SCNx32 "I32x"
138 #define SCNx64 "I64x"
139 #define SCNxLEAST16 "hx"
140 #define SCNxLEAST32 "I32x"
141 #define SCNxLEAST64 "I64x"
142 #define SCNxFAST16 "hx"
143 #define SCNxFAST32 "I32x"
144 #define SCNxFAST64 "I64x"
145 #ifdef _WIN64
146 #define SCNxPTR "I64x"
147 #else
148 #define SCNxPTR "Ix"
149 #endif
150 
151 #define SCNo8 "o"
152 #define SCNo16 "ho"
153 #define SCNo32 "I32o"
154 #define SCNo64 "I64o"
155 #define SCNoLEAST16 "ho"
156 #define SCNoLEAST32 "I32o"
157 #define SCNoLEAST64 "I64o"
158 #define SCNoFAST16 "ho"
159 #define SCNoFAST32 "I32o"
160 #define SCNoFAST64 "I64o"
161 #ifdef _WIN64
162 #define SCNoPTR "I64o"
163 #else
164 #define SCNoPTR "Io"
165 #endif
166 
167 #define SCNdMAX "I64d"
168 #define SCNiMAX "I64i"
169 #define SCNuMAX "I64u"
170 #define SCNxMAX "I64x"
171 #define SCNoMAX "I64o"
172 
173 #elif defined(NLIB_64BIT)
174 #error Sorry, not supported yet.
175 #else
176 #error Sorry, not supported yet.
177 #endif
178 
179 #endif // INCLUDE_NN_NLIB_INTTYPES_H_