flatcc_flatbuffers.h (1303B)
1 /* 2 * Even C11 compilers depend on clib support for `static_assert` which 3 * isn't always present, so we deal with this here for all compilers. 4 * 5 * Outside include guard to handle scope counter. 6 */ 7 #include "portable/pstatic_assert.h" 8 9 #ifndef FLATCC_FLATBUFFERS_H 10 #define FLATCC_FLATBUFFERS_H 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 #ifndef flatcc_flatbuffers_defined 17 #define flatcc_flatbuffers_defined 18 19 #ifdef FLATCC_PORTABLE 20 #include "flatcc_portable.h" 21 #endif 22 #include "portable/pwarnings.h" 23 /* Needed by C99 compilers without FLATCC_PORTABLE. */ 24 #include "portable/pstdalign.h" 25 26 /* Handle fallthrough attribute in switch statements. */ 27 #include "portable/pattributes.h" 28 29 #include "flatcc_alloc.h" 30 #include "flatcc_assert.h" 31 32 #define __FLATBUFFERS_PASTE2(a, b) a ## b 33 #define __FLATBUFFERS_PASTE3(a, b, c) a ## b ## c 34 #define __FLATBUFFERS_CONCAT(a, b) __FLATBUFFERS_PASTE2(a, b) 35 36 /* 37 * "flatcc_endian.h" requires the preceeding include files, 38 * or compatible definitions. 39 */ 40 #include "portable/pendian.h" 41 #include "flatcc_types.h" 42 #include "flatcc_endian.h" 43 #include "flatcc_identifier.h" 44 45 #ifndef FLATBUFFERS_WRAP_NAMESPACE 46 #define FLATBUFFERS_WRAP_NAMESPACE(ns, x) ns ## _ ## x 47 #endif 48 49 #endif /* flatcc_flatbuffers_defined */ 50 51 #ifdef __cplusplus 52 } 53 #endif 54 55 #endif /* FLATCC_FLATBUFFERS_H */