| Index: mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
|
| diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
|
| deleted file mode 100644
|
| index eb7081cd572edf2765deb53748393ea595b51100..0000000000000000000000000000000000000000
|
| --- a/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
|
| +++ /dev/null
|
| @@ -1,57 +0,0 @@
|
| -{%- set class_name = union.name ~ "_Data" -%}
|
| -{%- set enum_name = union.name ~ "_Tag" -%}
|
| -{%- import "struct_macros.tmpl" as struct_macros %}
|
| -
|
| -class {{class_name}} {
|
| - public:
|
| - // Used to identify Mojom Union Data Classes.
|
| - typedef void MojomUnionDataType;
|
| - static {{class_name}}* New(mojo::internal::Buffer* buf);
|
| - {{class_name}}();
|
| - // Do nothing in the destructor since it won't be called.
|
| - ~{{class_name}}() {}
|
| -
|
| - static mojo::internal::ValidationError Validate(
|
| - const void* data,
|
| - mojo::internal::BoundsChecker* bounds_checker,
|
| - bool inlined,
|
| - std::string* err);
|
| -
|
| - bool is_null() const {
|
| - return size == 0;
|
| - }
|
| -
|
| - void set_null();
|
| -
|
| - enum class {{enum_name}} : uint32_t {
|
| -{% for field in union.fields %}
|
| - {{field.name|upper}},
|
| -{%- endfor %}
|
| - __UNKNOWN__ = 0xFFFFFFFF,
|
| - };
|
| -
|
| - // A note on layout:
|
| - // "Each non-static data member is allocated as if it were the sole member of
|
| - // a struct." - Section 9.5.2 ISO/IEC 14882:2011 (The C++ Spec)
|
| - union MOJO_ALIGNAS(8) Union_ {
|
| -{%- for field in union.fields %}
|
| -{%- if field.kind.spec == 'b' %}
|
| - uint8_t f_{{field.name}} : 1;
|
| -{%- else %}
|
| - {{field.kind|cpp_union_field_type}} f_{{field.name}};
|
| -{%- endif %}
|
| -{%- endfor %}
|
| - uint64_t unknown;
|
| - };
|
| -
|
| - uint32_t size;
|
| - {{enum_name}} tag;
|
| - Union_ data;
|
| -
|
| - void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
|
| - void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);
|
| -};
|
| -static_assert(sizeof({{class_name}}) == 16,
|
| - "Bad sizeof({{class_name}})");
|
| -static_assert(sizeof({{class_name}}::Union_) == 8,
|
| - "Bad sizeof({{class_name}}::Union_)");
|
|
|