summaryrefslogtreecommitdiffstats
path: root/base/move.h
diff options
context:
space:
mode:
authorDaniel Cheng <dcheng@chromium.org>2015-12-30 12:28:29 -0800
committerDaniel Cheng <dcheng@chromium.org>2015-12-30 20:30:21 +0000
commitf1f3cb1d493ee39adc82089c8eb6966777c8f6ff (patch)
treeb0a9b97449512524c11dc7c76e813b4a5b59a5cb /base/move.h
parentac4d93be8bc37c31f3b19749272e5d176eb8d2cf (diff)
downloadchromium_src-f1f3cb1d493ee39adc82089c8eb6966777c8f6ff.zip
chromium_src-f1f3cb1d493ee39adc82089c8eb6966777c8f6ff.tar.gz
chromium_src-f1f3cb1d493ee39adc82089c8eb6966777c8f6ff.tar.bz2
Remove Pass() on Linux.
Pass() is a legacy of the original C++03 move emulation implementation. New code should use std::move from <utility>. ChromeOS is exempt until the migration there is complete. ❆(੭ु ◜◡‾)੭ु⁾☃❆ BUG=557422 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1548273002 . Cr-Commit-Position: refs/heads/master@{#367177}
Diffstat (limited to 'base/move.h')
-rw-r--r--base/move.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/base/move.h b/base/move.h
index f90e9e8..482ee81 100644
--- a/base/move.h
+++ b/base/move.h
@@ -9,6 +9,7 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
+#include "build/build_config.h"
// TODO(crbug.com/566182): DEPRECATED!
// Use DISALLOW_COPY_AND_ASSIGN instead, or if your type will be used in
@@ -30,6 +31,17 @@
// for more details.
// TODO(crbug.com/566182): Remove this macro and use DISALLOW_COPY_AND_ASSIGN
// everywhere instead.
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#define DISALLOW_COPY_AND_ASSIGN_WITH_MOVE_FOR_BIND(type) \
+ private: \
+ type(const type&) = delete; \
+ void operator=(const type&) = delete; \
+ \
+ public: \
+ typedef void MoveOnlyTypeForCPP03; \
+ \
+ private:
+#else
#define DISALLOW_COPY_AND_ASSIGN_WITH_MOVE_FOR_BIND(type) \
private: \
type(const type&) = delete; \
@@ -40,5 +52,6 @@
typedef void MoveOnlyTypeForCPP03; \
\
private:
+#endif
#endif // BASE_MOVE_H_