OLD | NEW |
1 // static | 1 {% for constructor in struct|struct_constructors %} |
2 {{struct.name}}Ptr {{struct.name}}::New() { | 2 {{struct.name}}::{{struct.name}}( |
3 {{struct.name}}Ptr rv; | 3 {%- for field in constructor.params %} |
4 mojo::internal::StructHelper<{{struct.name}}>::Initialize(&rv); | 4 {%- set type = field.kind|cpp_wrapper_param_type %} |
5 return rv; | 5 {%- set name = field.name %} |
6 } | 6 {{type}} {{name}}_in |
7 | 7 {%- if not loop.last -%},{%- endif %} |
8 {{struct.name}}::{{struct.name}}() | 8 {%- endfor %}) |
9 {%- for field in struct.fields %} | 9 {%- for field, is_parameter in constructor.fields %} |
10 {% if loop.first %}:{% else %} {% endif %} {{field.name}}({{field|default_va
lue}}){% if not loop.last %},{% endif %} | 10 {%- set name = field.name %} |
11 {%- endfor %} { | 11 {% if loop.first %}:{% else %} {% endif %} {{name}}( |
12 } | 12 {%- if is_parameter -%} |
13 | 13 std::move({{name}}_in) |
14 {{struct.name}}::~{{struct.name}}() { | 14 {%- else -%} |
15 } | 15 {{ field|default_value }} |
| 16 {%- endif -%} |
| 17 ){% if not loop.last %},{% endif %} |
| 18 {%- endfor %} {} |
| 19 {% endfor %} |
| 20 {{struct.name}}::~{{struct.name}}() = default; |
16 | 21 |
17 {%- if struct|is_hashable %} | 22 {%- if struct|is_hashable %} |
18 size_t {{struct.name}}::Hash(size_t seed) const { | 23 size_t {{struct.name}}::Hash(size_t seed) const { |
19 {%- for field in struct.fields %} | 24 {%- for field in struct.fields %} |
20 {%- if for_blink %} | 25 {%- if for_blink %} |
21 seed = mojo::internal::WTFHash(seed, this->{{field.name}}); | 26 seed = mojo::internal::WTFHash(seed, this->{{field.name}}); |
22 {%- else %} | 27 {%- else %} |
23 seed = mojo::internal::Hash(seed, this->{{field.name}}); | 28 seed = mojo::internal::Hash(seed, this->{{field.name}}); |
24 {%- endif %} | 29 {%- endif %} |
25 {%- endfor %} | 30 {%- endfor %} |
26 return seed; | 31 return seed; |
27 } | 32 } |
28 {%- endif %} | 33 {%- endif %} |
OLD | NEW |