OLD | NEW |
1 | 1 |
2 class {{struct.name}} { | 2 class {{struct.name}} { |
3 public: | 3 public: |
4 typedef internal::{{struct.name}}_Data Data_; | 4 typedef internal::{{struct.name}}_Data Data_; |
5 | 5 |
6 {#--- Constants #} | 6 {#--- Constants #} |
7 {%- for constant in struct.constants %} | 7 {%- for constant in struct.constants %} |
8 static const {{constant.kind|cpp_pod_type}} {{constant.name}}; | 8 static const {{constant.kind|cpp_pod_type}} {{constant.name}}; |
9 {%- endfor %} | 9 {%- endfor %} |
10 {#--- Enums #} | 10 {#--- Enums #} |
11 {%- for enum in struct.enums -%} | 11 {%- for enum in struct.enums -%} |
12 {% macro enum_def() %}{% include "enum_declaration.tmpl" %}{% endmacro %} | 12 {% macro enum_def() %}{% include "enum_declaration.tmpl" %}{% endmacro %} |
13 {{enum_def()|indent(2)}} | 13 {{enum_def()|indent(2)}} |
14 {%- endfor %} | 14 {%- endfor %} |
15 static {{struct.name}}Ptr New(); | 15 static {{struct.name}}Ptr New(); |
16 | 16 |
17 template <typename U> | 17 template <typename U> |
18 static {{struct.name}}Ptr From(const U& u) { | 18 static {{struct.name}}Ptr From(const U& u) { |
19 return mojo::TypeConverter<{{struct.name}}Ptr, U>::Convert(u); | 19 return mojo::TypeConverter<{{struct.name}}Ptr, U>::Convert(u); |
20 } | 20 } |
21 | 21 |
22 {{struct.name}}(); | 22 {{struct.name}}(); |
23 ~{{struct.name}}(); | 23 ~{{struct.name}}(); |
| 24 |
24 {% if struct|is_cloneable_kind %} | 25 {% if struct|is_cloneable_kind %} |
25 {{struct.name}}Ptr Clone() const; | 26 {{struct.name}}Ptr Clone() const; |
26 {%- endif %} | 27 {%- endif %} |
| 28 bool Equals(const {{struct.name}}& other) const; |
27 | 29 |
28 {#--- Getters #} | 30 {#--- Getters #} |
29 {% for field in struct.fields %} | 31 {% for field in struct.fields %} |
30 {%- set type = field.kind|cpp_wrapper_type %} | 32 {%- set type = field.kind|cpp_wrapper_type %} |
31 {%- set name = field.name %} | 33 {%- set name = field.name %} |
32 {{type}} {{name}}; | 34 {{type}} {{name}}; |
33 {%- endfor %} | 35 {%- endfor %} |
34 }; | 36 }; |
OLD | NEW |