OLD | NEW |
1 // static | 1 // static |
2 {{struct.name}}Ptr {{struct.name}}::New() { | 2 {{struct.name}}Ptr {{struct.name}}::New() { |
3 {{struct.name}}Ptr rv; | 3 {{struct.name}}Ptr rv; |
4 mojo::internal::StructHelper<{{struct.name}}>::Initialize(&rv); | 4 mojo::internal::StructHelper<{{struct.name}}>::Initialize(&rv); |
5 return rv.Pass(); | 5 return rv.Pass(); |
6 } | 6 } |
7 | 7 |
8 {{struct.name}}::{{struct.name}}() | 8 {{struct.name}}::{{struct.name}}() |
9 {%-for field in struct.fields %} | 9 {%- for field in struct.fields %} |
10 {% if loop.first %}:{% else %} {% endif %} {{field.name}}({{field|default_va
lue}}){% if not loop.last %},{% endif %} | 10 {% if loop.first %}:{% else %} {% endif %} {{field.name}}({{field|default_va
lue}}){% if not loop.last %},{% endif %} |
11 {%- endfor %} { | 11 {%- endfor %} { |
12 } | 12 } |
13 | 13 |
14 {{struct.name}}::~{{struct.name}}() { | 14 {{struct.name}}::~{{struct.name}}() { |
15 } | 15 } |
| 16 {% if struct|is_cloneable_kind %} |
| 17 {{struct.name}}Ptr {{struct.name}}::Clone() const { |
| 18 {{struct.name}}Ptr rv(New()); |
| 19 {%- for field in struct.fields %} |
| 20 {%- if field.kind|is_struct_kind or field.kind|is_any_array_kind %} |
| 21 rv->{{field.name}} = {{field.name}}.Clone(); |
| 22 {%- else %} |
| 23 rv->{{field.name}} = {{field.name}}; |
| 24 {%- endif %} |
| 25 {%- endfor %} |
| 26 return rv.Pass(); |
| 27 } |
| 28 {% endif %} |
OLD | NEW |