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

40 lines
516 B
C++

#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <new>
struct Foo {
enum class Tag {
A,
};
struct A_Body {
float _0[20];
};
Tag tag;
union {
A_Body a;
};
static Foo A(const float (&_0)[20]) {
Foo result;
for (int i = 0; i < 20; i++) {
::new (&result.a._0[i]) (float)(_0[i]);
}
result.tag = Tag::A;
return result;
}
bool IsA() const {
return tag == Tag::A;
}
};
extern "C" {
void root(Foo a);
} // extern "C"