Index: src/globals.h |
diff --git a/src/globals.h b/src/globals.h |
index f00e676dde9866b9eb7bb2005d80ed4766da46a2..e695e94d4e6b465b555edc405f588d6ab0ec287d 100644 |
--- a/src/globals.h |
+++ b/src/globals.h |
@@ -327,11 +327,18 @@ F FUNCTION_CAST(Address addr) { |
} |
+#if __cplusplus >= 201103L |
+#define DISALLOW_BY_DELETE = delete |
+#else |
+#define DISALLOW_BY_DELETE |
+#endif |
+ |
+ |
// A macro to disallow the evil copy constructor and operator= functions |
// This should be used in the private: declarations for a class |
-#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ |
- TypeName(const TypeName&); \ |
- void operator=(const TypeName&) |
+#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ |
+ TypeName(const TypeName&) DISALLOW_BY_DELETE; \ |
+ void operator=(const TypeName&) DISALLOW_BY_DELETE |
// A macro to disallow all the implicit constructors, namely the |
@@ -341,7 +348,7 @@ F FUNCTION_CAST(Address addr) { |
// that wants to prevent anyone from instantiating it. This is |
// especially useful for classes containing only static methods. |
#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ |
- TypeName(); \ |
+ TypeName() DISALLOW_BY_DELETE; \ |
DISALLOW_COPY_AND_ASSIGN(TypeName) |