1 /*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #ifndef API_BASE_FORMATS_H
17 #define API_BASE_FORMATS_H
18
19 #include <cstdint>
20
21 #include <base/namespace.h>
22 #include <base/util/hash.h>
23
24 BASE_BEGIN_NAMESPACE()
25 /** \addtogroup group_formats
26 * @{
27 */
28 /** Format */
29 enum Format {
30 /** Undefined */
31 BASE_FORMAT_UNDEFINED = 0,
32 /** R4G4 UNORM PACK8 */
33 BASE_FORMAT_R4G4_UNORM_PACK8 = 1,
34 /** R4G4B4A4 UNORM PACK16 */
35 BASE_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
36 /** B4G4R4A4 UNORM PACK16 */
37 BASE_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
38 /** R5G6B5 UNORM PACK16 */
39 BASE_FORMAT_R5G6B5_UNORM_PACK16 = 4,
40 /** B5G6R5 UNORM PACK16 */
41 BASE_FORMAT_B5G6R5_UNORM_PACK16 = 5,
42 /** R5G5B5A1 UNORM PACK16 */
43 BASE_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
44 /** B5G5R5A1 UNORM PACK16 */
45 BASE_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
46 /** A1R5G5B5 UNORM PACK16 */
47 BASE_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
48 /** R8 UNORM */
49 BASE_FORMAT_R8_UNORM = 9,
50 /** R8 SNORM */
51 BASE_FORMAT_R8_SNORM = 10,
52 /** R8 USCALED */
53 BASE_FORMAT_R8_USCALED = 11,
54 /** R8 SSCALED */
55 BASE_FORMAT_R8_SSCALED = 12,
56 /** R8 UINT */
57 BASE_FORMAT_R8_UINT = 13,
58 /** R8 SINT */
59 BASE_FORMAT_R8_SINT = 14,
60 /** R8 SRGB */
61 BASE_FORMAT_R8_SRGB = 15,
62 /** R8G8 UNORM */
63 BASE_FORMAT_R8G8_UNORM = 16,
64 /** R8G8 SNORM */
65 BASE_FORMAT_R8G8_SNORM = 17,
66 /** R8G8 USCALED */
67 BASE_FORMAT_R8G8_USCALED = 18,
68 /** R8G8 SSCALED */
69 BASE_FORMAT_R8G8_SSCALED = 19,
70 /** R8G8 UINT */
71 BASE_FORMAT_R8G8_UINT = 20,
72 /** R8G8 SINT */
73 BASE_FORMAT_R8G8_SINT = 21,
74 /** R8G8 SRGB */
75 BASE_FORMAT_R8G8_SRGB = 22,
76 /** R8G8B8 UNORM */
77 BASE_FORMAT_R8G8B8_UNORM = 23,
78 /** R8G8B8 SNORM */
79 BASE_FORMAT_R8G8B8_SNORM = 24,
80 /** R8G8B8 USCALED */
81 BASE_FORMAT_R8G8B8_USCALED = 25,
82 /** R8G8B8 SSCALED */
83 BASE_FORMAT_R8G8B8_SSCALED = 26,
84 /** R8G8B8 UINT */
85 BASE_FORMAT_R8G8B8_UINT = 27,
86 /** R8G8B8 SINT */
87 BASE_FORMAT_R8G8B8_SINT = 28,
88 /** R8G8B8 SRGB */
89 BASE_FORMAT_R8G8B8_SRGB = 29,
90 /** B8G8R8 UNORM */
91 BASE_FORMAT_B8G8R8_UNORM = 30,
92 /** B8G8R8 SNORM */
93 BASE_FORMAT_B8G8R8_SNORM = 31,
94 /** B8G8R8 SNORM */
95 BASE_FORMAT_B8G8R8_USCALED = 32,
96 /** B8G8R8 SNORM */
97 BASE_FORMAT_B8G8R8_SSCALED = 33,
98 /** B8G8R8 UINT */
99 BASE_FORMAT_B8G8R8_UINT = 34,
100 /** B8G8R8 SINT */
101 BASE_FORMAT_B8G8R8_SINT = 35,
102 /** B8G8R8 SRGB */
103 BASE_FORMAT_B8G8R8_SRGB = 36,
104 /** R8G8B8A8 UNORM */
105 BASE_FORMAT_R8G8B8A8_UNORM = 37,
106 /** R8G8B8A8 SNORM */
107 BASE_FORMAT_R8G8B8A8_SNORM = 38,
108 /** R8G8B8A8 USCALED */
109 BASE_FORMAT_R8G8B8A8_USCALED = 39,
110 /** R8G8B8A8 SSCALED */
111 BASE_FORMAT_R8G8B8A8_SSCALED = 40,
112 /** R8G8B8A8 UINT */
113 BASE_FORMAT_R8G8B8A8_UINT = 41,
114 /** R8G8B8A8 SINT */
115 BASE_FORMAT_R8G8B8A8_SINT = 42,
116 /** R8G8B8A8 SRGB */
117 BASE_FORMAT_R8G8B8A8_SRGB = 43,
118 /** B8G8R8A8 UNORM */
119 BASE_FORMAT_B8G8R8A8_UNORM = 44,
120 /** B8G8R8A8 SNORM */
121 BASE_FORMAT_B8G8R8A8_SNORM = 45,
122 /** B8G8R8A8 USCALED */
123 BASE_FORMAT_B8G8R8A8_USCALED = 46,
124 /** B8G8R8A8 SSCALED */
125 BASE_FORMAT_B8G8R8A8_SSCALED = 47,
126 /** B8G8R8A8 UINT */
127 BASE_FORMAT_B8G8R8A8_UINT = 48,
128 /** B8G8R8A8 SINT */
129 BASE_FORMAT_B8G8R8A8_SINT = 49,
130 /** FORMAT B8G8R8A8 SRGB */
131 BASE_FORMAT_B8G8R8A8_SRGB = 50,
132 /** A8B8G8R8 UNORM PACK32 */
133 BASE_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
134 /** A8B8G8R8 SNORM PACK32 */
135 BASE_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
136 /** A8B8G8R8 USCALED PACK32 */
137 BASE_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
138 /** A8B8G8R8 SSCALED PACK32 */
139 BASE_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
140 /** A8B8G8R8 UINT PACK32 */
141 BASE_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
142 /** A8B8G8R8 SINT PACK32 */
143 BASE_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
144 /** A8B8G8R8 SRGB PACK32 */
145 BASE_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
146 /** A2R10G10B10 UNORM PACK32 */
147 BASE_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
148 /** A2R10G10B10 SNORM PACK32 */
149 BASE_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
150 /** A2R10G10B10 USCALED PACK32 */
151 BASE_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
152 /** A2R10G10B10 SSCALED PACK32 */
153 BASE_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
154 /** A2R10G10B10 UINT PACK32 */
155 BASE_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
156 /** A2R10G10B10 SINT PACK32 */
157 BASE_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
158 /** A2B10G10R10 UNORM PACK32 */
159 BASE_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
160 /** A2B10G10R10 SNORM PACK32 */
161 BASE_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
162 /** A2B10G10R10 USCALED PACK32 */
163 BASE_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
164 /** A2B10G10R10 SSCALED PACK32 */
165 BASE_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
166 /** A2B10G10R10 UINT PACK32 */
167 BASE_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
168 /** A2B10G10R10 SINT PACK32 */
169 BASE_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
170 /** R16 UNORM */
171 BASE_FORMAT_R16_UNORM = 70,
172 /** R16 SNORM */
173 BASE_FORMAT_R16_SNORM = 71,
174 /** R16 USCALED */
175 BASE_FORMAT_R16_USCALED = 72,
176 /** R16 SSCALED */
177 BASE_FORMAT_R16_SSCALED = 73,
178 /** R16 UINT */
179 BASE_FORMAT_R16_UINT = 74,
180 /** R16 SINT */
181 BASE_FORMAT_R16_SINT = 75,
182 /** R16 SFLOAT */
183 BASE_FORMAT_R16_SFLOAT = 76,
184 /** R16G16 UNORM */
185 BASE_FORMAT_R16G16_UNORM = 77,
186 /** R16G16 SNORM */
187 BASE_FORMAT_R16G16_SNORM = 78,
188 /** R16G16 USCALED */
189 BASE_FORMAT_R16G16_USCALED = 79,
190 /** R16G16 SSCALED */
191 BASE_FORMAT_R16G16_SSCALED = 80,
192 /** R16G16 UINT */
193 BASE_FORMAT_R16G16_UINT = 81,
194 /** R16G16 SINT */
195 BASE_FORMAT_R16G16_SINT = 82,
196 /** R16G16 SFLOAT */
197 BASE_FORMAT_R16G16_SFLOAT = 83,
198 /** R16G16B16 UNORM */
199 BASE_FORMAT_R16G16B16_UNORM = 84,
200 /** R16G16B16 SNORM */
201 BASE_FORMAT_R16G16B16_SNORM = 85,
202 /** R16G16B16 USCALED */
203 BASE_FORMAT_R16G16B16_USCALED = 86,
204 /** R16G16B16 SSCALED */
205 BASE_FORMAT_R16G16B16_SSCALED = 87,
206 /** R16G16B16 UINT */
207 BASE_FORMAT_R16G16B16_UINT = 88,
208 /** R16G16B16 SINT */
209 BASE_FORMAT_R16G16B16_SINT = 89,
210 /** R16G16B16 SFLOAT */
211 BASE_FORMAT_R16G16B16_SFLOAT = 90,
212 /** R16G16B16A16 UNORM */
213 BASE_FORMAT_R16G16B16A16_UNORM = 91,
214 /** R16G16B16A16 SNORM */
215 BASE_FORMAT_R16G16B16A16_SNORM = 92,
216 /** R16G16B16A16 USCALED */
217 BASE_FORMAT_R16G16B16A16_USCALED = 93,
218 /** R16G16B16A16 SSCALED */
219 BASE_FORMAT_R16G16B16A16_SSCALED = 94,
220 /** R16G16B16A16 UINT */
221 BASE_FORMAT_R16G16B16A16_UINT = 95,
222 /** R16G16B16A16 SINT */
223 BASE_FORMAT_R16G16B16A16_SINT = 96,
224 /** R16G16B16A16 SFLOAT */
225 BASE_FORMAT_R16G16B16A16_SFLOAT = 97,
226 /** R32 UINT */
227 BASE_FORMAT_R32_UINT = 98,
228 /** R32 SINT */
229 BASE_FORMAT_R32_SINT = 99,
230 /** R32 SFLOAT */
231 BASE_FORMAT_R32_SFLOAT = 100,
232 /** R32G32 UINT */
233 BASE_FORMAT_R32G32_UINT = 101,
234 /** R32G32 SINT */
235 BASE_FORMAT_R32G32_SINT = 102,
236 /** R32G32 SFLOAT */
237 BASE_FORMAT_R32G32_SFLOAT = 103,
238 /** R32G32B32 UINT */
239 BASE_FORMAT_R32G32B32_UINT = 104,
240 /** R32G32B32 SINT */
241 BASE_FORMAT_R32G32B32_SINT = 105,
242 /** R32G32B32 SFLOAT */
243 BASE_FORMAT_R32G32B32_SFLOAT = 106,
244 /** R32G32B32A32 UINT */
245 BASE_FORMAT_R32G32B32A32_UINT = 107,
246 /** R32G32B32A32 SINT */
247 BASE_FORMAT_R32G32B32A32_SINT = 108,
248 /** R32G32B32A32 SFLOAT */
249 BASE_FORMAT_R32G32B32A32_SFLOAT = 109,
250 /** R64 UINT */
251 BASE_FORMAT_R64_UINT = 110,
252 /** R64 SINT */
253 BASE_FORMAT_R64_SINT = 111,
254 /** R64 SFLOAT */
255 BASE_FORMAT_R64_SFLOAT = 112,
256 /** R64G64 UINT */
257 BASE_FORMAT_R64G64_UINT = 113,
258 /** R64G64 SINT */
259 BASE_FORMAT_R64G64_SINT = 114,
260 /** R64G64 SFLOAT */
261 BASE_FORMAT_R64G64_SFLOAT = 115,
262 /** R64G64B64 UINT */
263 BASE_FORMAT_R64G64B64_UINT = 116,
264 /** R64G64B64 SINT */
265 BASE_FORMAT_R64G64B64_SINT = 117,
266 /** R64G64B64 SFLOAT */
267 BASE_FORMAT_R64G64B64_SFLOAT = 118,
268 /** R64G64B64A64 UINT */
269 BASE_FORMAT_R64G64B64A64_UINT = 119,
270 /** R64G64B64A64 SINT */
271 BASE_FORMAT_R64G64B64A64_SINT = 120,
272 /** R32G32B32A32 SFLOAT */
273 BASE_FORMAT_R64G64B64A64_SFLOAT = 121,
274 /** B10G11R11 UFLOAT PACK32 */
275 BASE_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
276 /** E5B9G9R9 UFLOAT PACK32 */
277 BASE_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
278 /** D16 UNORM */
279 BASE_FORMAT_D16_UNORM = 124,
280 /** X8 D24 UNORM PACK32 */
281 BASE_FORMAT_X8_D24_UNORM_PACK32 = 125,
282 /** D32 SFLOAT */
283 BASE_FORMAT_D32_SFLOAT = 126,
284 /** S8 UINT */
285 BASE_FORMAT_S8_UINT = 127,
286 /** D16 UNORM S8 UINT */
287 BASE_FORMAT_D16_UNORM_S8_UINT = 128,
288 /** D24 UNORM S8 UINT */
289 BASE_FORMAT_D24_UNORM_S8_UINT = 129,
290 /** D32 SFLOAT S8 UINT */
291 BASE_FORMAT_D32_SFLOAT_S8_UINT = 130,
292 /** BC1 RGB UNORM BLOCK */
293 BASE_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
294 /** BC1 RGB SRGB BLOCK */
295 BASE_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
296 /** BC1 RGBA UNORM BLOCK */
297 BASE_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
298 /** BC1 RGBA SRGB BLOCK */
299 BASE_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
300 /** BC2 UNORM BLOCK */
301 BASE_FORMAT_BC2_UNORM_BLOCK = 135,
302 /** BC2 SRGB BLOCK */
303 BASE_FORMAT_BC2_SRGB_BLOCK = 136,
304 /** BC3 UNORM BLOCK */
305 BASE_FORMAT_BC3_UNORM_BLOCK = 137,
306 /** BC3 SRGB BLOCK */
307 BASE_FORMAT_BC3_SRGB_BLOCK = 138,
308 /** BC4 UNORM BLOCK */
309 BASE_FORMAT_BC4_UNORM_BLOCK = 139,
310 /** BC4 SNORM BLOCK */
311 BASE_FORMAT_BC4_SNORM_BLOCK = 140,
312 /** BC5 UNORM BLOCK */
313 BASE_FORMAT_BC5_UNORM_BLOCK = 141,
314 /** BC5 SNORM BLOCK */
315 BASE_FORMAT_BC5_SNORM_BLOCK = 142,
316 /** BC6H UFLOAT BLOCK */
317 BASE_FORMAT_BC6H_UFLOAT_BLOCK = 143,
318 /** BC6H SFLOAT BLOCK */
319 BASE_FORMAT_BC6H_SFLOAT_BLOCK = 144,
320 /** BC7 UNORM BLOCK */
321 BASE_FORMAT_BC7_UNORM_BLOCK = 145,
322 /** BC7 SRGB BLOCK */
323 BASE_FORMAT_BC7_SRGB_BLOCK = 146,
324 /** ETC2 R8G8B8 UNORM BLOCK */
325 BASE_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
326 /** ETC2 R8G8B8 SRGB BLOCK */
327 BASE_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
328 /** ETC2 R8G8B8A1 UNORM BLOCK */
329 BASE_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
330 /** ETC2 R8G8B8A1 SRGB BLOCK */
331 BASE_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
332 /** ETC2 R8G8B8A8 UNORM BLOCK */
333 BASE_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
334 /** ETC2 R8G8B8A8 SRGB BLOCK */
335 BASE_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
336 /** EAC R11 UNORM BLOCK */
337 BASE_FORMAT_EAC_R11_UNORM_BLOCK = 153,
338 /** EAC R11 SNORM BLOCK */
339 BASE_FORMAT_EAC_R11_SNORM_BLOCK = 154,
340 /** EAC R11G11 UNORM BLOCK */
341 BASE_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
342 /** EAC R11G11 SNORM BLOCK */
343 BASE_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
344 /** ASTC 4x4 UNORM BLOCK */
345 BASE_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
346 /** ASTC 4x4 SRGB BLOCK */
347 BASE_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
348 /** ASTC 5x4 UNORM BLOCK */
349 BASE_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
350 /** ASTC 5x4 SRGB BLOCK */
351 BASE_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
352 /** ASTC 5x5 UNORM BLOCK */
353 BASE_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
354 /** ASTC 5x5 SRGB BLOCK */
355 BASE_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
356 /** ASTC 6x5 UNORM BLOCK */
357 BASE_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
358 /** ASTC 6x5 SRGB BLOCK */
359 BASE_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
360 /** ASTC 6x6 UNORM BLOCK */
361 BASE_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
362 /** ASTC 6x6 SRGB BLOCK */
363 BASE_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
364 /** ASTC 8x5 UNORM BLOCK */
365 BASE_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
366 /** ASTC 8x5 SRGB BLOCK */
367 BASE_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
368 /** ASTC 8x6 UNORM BLOCK */
369 BASE_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
370 /** ASTC 8x6 SRGB BLOCK */
371 BASE_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
372 /** ASTC 8x8 UNORM BLOCK */
373 BASE_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
374 /** ASTC 8x8 SRGB BLOCK */
375 BASE_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
376 /** ASTC 10x5 UNORM BLOCK */
377 BASE_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
378 /** ASTC 10x5 SRGB BLOCK */
379 BASE_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
380 /** ASTC 10x6 UNORM BLOCK */
381 BASE_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
382 /** ASTC 10x6 SRGB BLOCK */
383 BASE_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
384 /** ASTC 10x8 UNORM BLOCK */
385 BASE_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
386 /** ASTC 10x8 SRGB BLOCK */
387 BASE_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
388 /** ASTC 10x10 UNORM BLOCK */
389 BASE_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
390 /** ASTC 10x10 SRGB BLOCK */
391 BASE_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
392 /** ASTC 12x10 UNORM BLOCK */
393 BASE_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
394 /** ASTC 12x10 SRGB BLOCK */
395 BASE_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
396 /** ASTC 12x12 UNORM BLOCK */
397 BASE_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
398 /** ASTC 12x12 SRGB BLOCK */
399 BASE_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
400 /** G8B8G8R8 422 UNORM */
401 BASE_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
402 /** B8G8R8G8 422 UNORM */
403 BASE_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
404 /** G8 B8 R8 3PLANE 420 UNORM */
405 BASE_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
406 /** G8 B8R8 2PLANE 420 UNORM */
407 BASE_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
408 /** G8 B8 R8 3PLANE 422 UNORM */
409 BASE_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
410 /** G8 B8R8 2PLANE 422 UNORM */
411 BASE_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
412 /** G8 B8R8 3PLANE 444 UNORM */
413 BASE_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
414 };
415
416 template<>
hash(const Format & value)417 inline uint64_t hash(const Format& value)
418 {
419 return Hash(static_cast<uint32_t>(value));
420 }
421 /** @} */
422 BASE_END_NAMESPACE()
423
424 #endif // API_BASE_FORMATS_H
425