Chromium Code Reviews| 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 | 16 |
| 17 {% if struct|is_cloneable_kind %} | 17 {% if struct|is_cloneable_kind %} |
| 18 {{struct.name}}Ptr {{struct.name}}::Clone() const { | 18 {{struct.name}}Ptr {{struct.name}}::Clone() const { |
| 19 {{struct.name}}Ptr rv(New()); | 19 {{struct.name}}Ptr rv(New()); |
| 20 {%- for field in struct.fields %} | 20 {%- for field in struct.fields %} |
| 21 {%- if field.kind|is_struct_kind or field.kind|is_array_kind or field.kind|i s_map_kind %} | 21 {%- if field.kind|is_struct_kind or field.kind|is_array_kind or field.kind|i s_map_kind or field.kind|is_union_kind %} |
|
yzshen1
2015/02/17 19:34:35
Maybe we should say "is object but not string", no
azani
2015/02/18 00:27:58
Done.
| |
| 22 rv->{{field.name}} = {{field.name}}.Clone(); | 22 rv->{{field.name}} = {{field.name}}.Clone(); |
| 23 {%- else %} | 23 {%- else %} |
| 24 rv->{{field.name}} = {{field.name}}; | 24 rv->{{field.name}} = {{field.name}}; |
| 25 {%- endif %} | 25 {%- endif %} |
| 26 {%- endfor %} | 26 {%- endfor %} |
| 27 return rv.Pass(); | 27 return rv.Pass(); |
| 28 } | 28 } |
| 29 {% endif %} | 29 {% endif %} |
| 30 | 30 |
| 31 bool {{struct.name}}::Equals(const {{struct.name}}& other) const { | 31 bool {{struct.name}}::Equals(const {{struct.name}}& other) const { |
| 32 {%- for field in struct.fields %} | 32 {%- for field in struct.fields %} |
| 33 if (!mojo::internal::ValueTraits<{{field.kind|cpp_wrapper_type}}>::Equals({{fi eld.name}}, other.{{field.name}})) | 33 if (!mojo::internal::ValueTraits<{{field.kind|cpp_wrapper_type}}>::Equals({{fi eld.name}}, other.{{field.name}})) |
| 34 return false; | 34 return false; |
| 35 {%- endfor %} | 35 {%- endfor %} |
| 36 return true; | 36 return true; |
| 37 } | 37 } |
| OLD | NEW |