Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(260)

Side by Side Diff: third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl

Issue 2799363002: Make generated field groups inherit from RefCountedCopyable. (Closed)
Patch Set: Rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {% from 'fields/field.tmpl' import encode, declare_storage %} 1 {% from 'fields/field.tmpl' import encode, declare_storage %}
2 {% from 'macros.tmpl' import print_if %} 2 {% from 'macros.tmpl' import print_if %}
3 {% macro define_field_group_class(group): -%} 3 {% macro define_field_group_class(group): -%}
4 class {{group.type_name}} : public RefCounted<{{group.type_name}}> { 4 class {{group.type_name}} : public RefCountedCopyable<{{group.type_name}}> {
5 public: 5 public:
6 static PassRefPtr<{{group.type_name}}> Create() { 6 static PassRefPtr<{{group.type_name}}> Create() {
7 return AdoptRef(new {{group.type_name}}); 7 return AdoptRef(new {{group.type_name}});
8 } 8 }
9 PassRefPtr<{{group.type_name}}> Copy() const { 9 PassRefPtr<{{group.type_name}}> Copy() const {
10 return AdoptRef(new {{group.type_name}}(*this)); 10 return AdoptRef(new {{group.type_name}}(*this));
11 } 11 }
12 12
13 bool operator==(const {{group.type_name}}& other) const { 13 bool operator==(const {{group.type_name}}& other) const {
14 return ( 14 return (
15 {% for field in group.fields %} 15 {% for field in group.fields %}
16 {{field.name}} == other.{{field.name}}{{print_if(not loop.last, ' &&')}} 16 {{field.name}} == other.{{field.name}}{{print_if(not loop.last, ' &&')}}
17 {% endfor %} 17 {% endfor %}
18 ); 18 );
19 } 19 }
20 bool operator!=(const {{group.type_name}}& other) const { return !(*this == ot her); } 20 bool operator!=(const {{group.type_name}}& other) const { return !(*this == ot her); }
21 21
22 {% for field in group.fields %} 22 {% for field in group.fields %}
23 {{declare_storage(field)}} 23 {{declare_storage(field)}}
24 {% endfor %} 24 {% endfor %}
25 25
26 private: 26 private:
27 {{group.type_name}}() : 27 {{group.type_name}}() :
28 {% for field in group.fields %} 28 {% for field in group.fields %}
29 {{field.name}}({{encode(field, field.default_value)}}){{print_if(not loop. last, ',')}} 29 {{field.name}}({{encode(field, field.default_value)}}){{print_if(not loop. last, ',')}}
30 {% endfor %} 30 {% endfor %}
31 {} 31 {}
32 32
33 ALWAYS_INLINE {{group.type_name}}(const {{group.type_name}}& other) : 33 {{group.type_name}}(const {{group.type_name}}&) = default;
34 RefCounted<{{group.type_name}}>(),
35 {% for field in group.fields %}
36 {{field.name}}(other.{{field.name}}){{print_if(not loop.last, ',')}}
37 {% endfor %}
38 {}
39 }; 34 };
40 {%- endmacro %} 35 {%- endmacro %}
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698