OLD | NEW |
| (Empty) |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef {{"_".join(config.protocol.namespace)}}_Allocator_h | |
6 #define {{"_".join(config.protocol.namespace)}}_Allocator_h | |
7 | |
8 {% for namespace in config.protocol.namespace %} | |
9 namespace {{namespace}} { | |
10 {% endfor %} | |
11 | |
12 enum NotNullTagEnum { NotNullLiteral }; | |
13 | |
14 #define PROTOCOL_DISALLOW_NEW() \ | |
15 private: \ | |
16 void* operator new(size_t) = delete; \ | |
17 void* operator new(size_t, NotNullTagEnum, void*) = delete; \ | |
18 void* operator new(size_t, void*) = delete; \ | |
19 public: | |
20 | |
21 #define PROTOCOL_DISALLOW_COPY(ClassName) \ | |
22 private: \ | |
23 ClassName(const ClassName&) = delete; \ | |
24 ClassName& operator=(const ClassName&) = delete | |
25 | |
26 {% for namespace in config.protocol.namespace %} | |
27 } // namespace {{namespace}} | |
28 {% endfor %} | |
29 | |
30 #endif // !defined({{"_".join(config.protocol.namespace)}}_Allocator_h) | |
OLD | NEW |