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

Side by Side Diff: mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl

Issue 611633002: mojom: Add associative arrays to the mojom language. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved test classes to their own shared file. Created 6 years, 2 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
OLDNEW
1 {%- import "struct_macros.tmpl" as struct_macros %} 1 {%- import "struct_macros.tmpl" as struct_macros %}
2 {%- set class_name = struct.name ~ "_Data" -%} 2 {%- set class_name = struct.name ~ "_Data" -%}
3 3
4 class {{class_name}} { 4 class {{class_name}} {
5 public: 5 public:
6 static {{class_name}}* New(mojo::internal::Buffer* buf); 6 static {{class_name}}* New(mojo::internal::Buffer* buf);
7 7
8 static bool Validate(const void* data, 8 static bool Validate(const void* data,
9 mojo::internal::BoundsChecker* bounds_checker); 9 mojo::internal::BoundsChecker* bounds_checker);
10 10
11 mojo::internal::StructHeader header_; 11 mojo::internal::StructHeader header_;
12 {{struct_macros.fields(struct)}} 12 {{struct_macros.fields(struct)}}
13 13
14 void EncodePointersAndHandles(std::vector<mojo::Handle>* handles); 14 void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
15 void DecodePointersAndHandles(std::vector<mojo::Handle>* handles); 15 void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);
16 16
17 private: 17 private:
18 {{class_name}}(); 18 {{class_name}}();
19 ~{{class_name}}(); // NOT IMPLEMENTED 19 ~{{class_name}}() = delete;
20 }; 20 };
21 static_assert(sizeof({{class_name}}) == {{struct.packed|struct_size}}, 21 static_assert(sizeof({{class_name}}) == {{struct.packed|struct_size}},
22 "Bad sizeof({{class_name}})"); 22 "Bad sizeof({{class_name}})");
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698