Kartikaya Gupta 5f6b223237 Add ostream header to all generated .cpp files.
Ideally we'd just do this when we need it, but the ostream derivation
will be controlled by both global config and per-structure config, so
it's hard to know exactly when we need it and when we don't.
2020-10-01 12:22:51 +02:00

107 lines
1.5 KiB
C++

#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <new>
enum class MyCLikeEnum {
Foo1,
Bar1,
Baz1,
};
enum class MyCLikeEnum_Prepended {
Foo1_Prepended,
Bar1_Prepended,
Baz1_Prepended,
};
struct MyFancyStruct {
int32_t i;
#ifdef __cplusplus
inline void foo();
#endif
};
struct MyFancyEnum {
enum class Tag {
Foo,
Bar,
Baz,
};
struct Bar_Body {
int32_t _0;
};
struct Baz_Body {
int32_t _0;
};
Tag tag;
union {
Bar_Body bar;
Baz_Body baz;
};
#ifdef __cplusplus
inline void wohoo();
#endif
};
union MyUnion {
float f;
uint32_t u;
int32_t extra_member; // yolo
};
struct MyFancyStruct_Prepended {
#ifdef __cplusplus
inline void prepended_wohoo();
#endif
int32_t i;
};
struct MyFancyEnum_Prepended {
#ifdef __cplusplus
inline void wohoo();
#endif
enum class Tag {
Foo_Prepended,
Bar_Prepended,
Baz_Prepended,
};
struct Bar_Prepended_Body {
int32_t _0;
};
struct Baz_Prepended_Body {
int32_t _0;
};
Tag tag;
union {
Bar_Prepended_Body bar_prepended;
Baz_Prepended_Body baz_prepended;
};
};
union MyUnion_Prepended {
int32_t extra_member; // yolo
float f;
uint32_t u;
};
extern "C" {
void root(MyFancyStruct s,
MyFancyEnum e,
MyCLikeEnum c,
MyUnion u,
MyFancyStruct_Prepended sp,
MyFancyEnum_Prepended ep,
MyCLikeEnum_Prepended cp,
MyUnion_Prepended up);
} // extern "C"