/*
* Even C11 compilers depend on clib support for `static_assert` which
* isn't always present, so we deal with this here for all compilers.
*
* Outside include guard to handle scope counter.
*/
#include "flatcc/portable/pstatic_assert.h"
#ifndef FLATCC_FLATBUFFERS_H
#define FLATCC_FLATBUFFERS_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef flatcc_flatbuffers_defined
#define flatcc_flatbuffers_defined
#ifdef FLATCC_PORTABLE
#include "flatcc/flatcc_portable.h"
#endif
#include "flatcc/portable/pwarnings.h"
/* Needed by C99 compilers without FLATCC_PORTABLE. */
#include "flatcc/portable/pstdalign.h"
/* Handle fallthrough attribute in switch statements. */
#include "flatcc/portable/pattributes.h"
#include "flatcc/flatcc_alloc.h"
#include "flatcc/flatcc_assert.h"
#define __FLATBUFFERS_PASTE2(a, b) a ## b
#define __FLATBUFFERS_PASTE3(a, b, c) a ## b ## c
#define __FLATBUFFERS_CONCAT(a, b) __FLATBUFFERS_PASTE2(a, b)
/*
* "flatcc_endian.h" requires the preceeding include files,
* or compatible definitions.
*/
#include "flatcc/portable/pendian.h"
/* Needed by flatcc_accessors.h to handle strict aliasing rules. */
#include "flatcc/portable/pmemaccess.h"
#include "flatcc/flatcc_types.h"
#include "flatcc/flatcc_endian.h"
#include "flatcc/flatcc_identifier.h"
#ifndef FLATBUFFERS_WRAP_NAMESPACE
#define FLATBUFFERS_WRAP_NAMESPACE(ns, x) ns ## _ ## x
#endif
#endif /* flatcc_flatbuffers_defined */
#ifdef __cplusplus
}
#endif
#endif /* FLATCC_FLATBUFFERS_H */