Chromium Code Reviews| Index: webrtc/base/constructormagic.h |
| diff --git a/webrtc/base/constructormagic.h b/webrtc/base/constructormagic.h |
| index 6b1244fc6457e177f568d2a19c1e9e1f28502b00..7fbe51aee762b8bf27dd16ce4bb2683116577c37 100644 |
| --- a/webrtc/base/constructormagic.h |
| +++ b/webrtc/base/constructormagic.h |
| @@ -14,16 +14,17 @@ |
| // Undefine macros first, just in case. Some third-party includes have their own |
| // version. |
| +// Put this in the declarations for a class to be unassignable. |
| #undef DISALLOW_ASSIGN |
| #define DISALLOW_ASSIGN(TypeName) \ |
| - void operator=(const TypeName&) |
| + void operator=(const TypeName&) = delete |
|
tommi
2015/09/07 11:15:27
nit: 4 spaces?
Henrik Grunell WebRTC
2015/09/07 11:56:40
2 spaces in base/macros.h.
|
| -// A macro to disallow the evil copy constructor and operator= functions |
| -// This should be used in the private: declarations for a class. |
| +// A macro to disallow the copy constructor and operator= functions |
| +// This should be used in the private: declarations for a class |
| #undef DISALLOW_COPY_AND_ASSIGN |
| -#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ |
| - TypeName(const TypeName&); \ |
| - DISALLOW_ASSIGN(TypeName) |
| +#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ |
|
Andrew MacDonald
2015/09/07 22:45:36
Any reason not to fix this one as well?
TypeName(
Henrik Grunell WebRTC
2015/09/08 11:41:09
Ah, good catch. It's like this in Chromium because
|
| + TypeName(const TypeName&); \ |
| + void operator=(const TypeName&) |
| // A macro to disallow all the implicit constructors, namely the |
| // default constructor, copy constructor and operator= functions. |
| @@ -33,8 +34,7 @@ |
| // especially useful for classes containing only static methods. |
| #undef DISALLOW_IMPLICIT_CONSTRUCTORS |
| #define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ |
| - TypeName(); \ |
| + TypeName() = delete; \ |
| DISALLOW_COPY_AND_ASSIGN(TypeName) |
| - |
| #endif // WEBRTC_BASE_CONSTRUCTORMAGIC_H_ |