• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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