2 class {{struct.name}} {
4 typedef internal::{{struct.name}}_Data Data_;
7 {%- for constant in struct.constants %}
8 static const {{constant.kind|cpp_pod_type}} {{constant.name}};
11 {%- for enum in struct.enums -%}
12 {% macro enum_def() %}{% include "enum_declaration.tmpl" %}{% endmacro %}
13 {{enum_def()|indent(2)}}
15 static {{struct.name}}Ptr New();
18 static {{struct.name}}Ptr From(const U& u) {
19 return mojo::TypeConverter<{{struct.name}}Ptr, U>::Convert(u);
24 return mojo::TypeConverter<U, {{struct.name}}>::Convert(*this);
30 {% if struct|is_cloneable_kind %}
31 {{struct.name}}Ptr Clone() const;
33 bool Equals(const {{struct.name}}& other) const;
36 {% for field in struct.fields %}
37 {%- set type = field.kind|cpp_wrapper_type %}
38 {%- set name = field.name %}