Index: mojo/public/c/system/macros.h |
diff --git a/mojo/public/c/system/macros.h b/mojo/public/c/system/macros.h |
index d89ca02dca1d428263e0c5f5a763c5ff66b8b55f..4be024900aedb48c87de3865161c8338520df0ad 100644 |
--- a/mojo/public/c/system/macros.h |
+++ b/mojo/public/c/system/macros.h |
@@ -26,58 +26,14 @@ |
#define MOJO_WARN_UNUSED_RESULT |
#endif |
-// C++-only macros ------------------------------------------------------------- |
- |
+// This macro is currently C++-only, but we want to use it in the C core.h. |
#ifdef __cplusplus |
- |
-// Annotate a virtual method indicating it must be overriding a virtual method |
-// in the parent class. Use like: |
-// virtual void foo() OVERRIDE; |
-#if defined(_MSC_VER) || defined(__clang__) |
-#define MOJO_OVERRIDE override |
-#else |
-#define MOJO_OVERRIDE |
-#endif |
- |
-// A macro to disallow the copy constructor and operator= functions. |
-// This should be used in the private: declarations for a class. |
-#define MOJO_DISALLOW_COPY_AND_ASSIGN(TypeName) \ |
- TypeName(const TypeName&); \ |
- void operator=(const TypeName&) |
- |
// Used to assert things at compile time. |
namespace mojo { template <bool> struct CompileAssert {}; } |
#define MOJO_COMPILE_ASSERT(expr, msg) \ |
typedef ::mojo::CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] |
- |
-// Used to calculate the number of elements in an array. |
-// (See |arraysize()| in Chromium's base/basictypes.h for more details.) |
-namespace mojo { |
-template <typename T, size_t N> |
-char (&ArraySizeHelper(T (&array)[N]))[N]; |
-#if !defined(_MSC_VER) |
-template <typename T, size_t N> |
-char (&ArraySizeHelper(const T (&array)[N]))[N]; |
+#else |
+#define MOJO_COMPILE_ASSERT(expr, msg) |
#endif |
-} // namespace mojo |
-#define MOJO_ARRAYSIZE(array) (sizeof(::mojo::ArraySizeHelper(array))) |
- |
-// Used to make a type move-only in C++03. See Chromium's base/move.h for more |
-// details. |
-#define MOJO_MOVE_ONLY_TYPE_FOR_CPP_03(type, rvalue_type) \ |
- private: \ |
- struct rvalue_type { \ |
- explicit rvalue_type(type* object) : object(object) {} \ |
- type* object; \ |
- }; \ |
- type(type&); \ |
- void operator=(type&); \ |
- public: \ |
- operator rvalue_type() { return rvalue_type(this); } \ |
- type Pass() { return type(rvalue_type(this)); } \ |
- typedef void MoveOnlyTypeForCPP03; \ |
- private: |
- |
-#endif // __cplusplus |
#endif // MOJO_PUBLIC_C_SYSTEM_MACROS_H_ |