Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 247924a3 authored by Andreas Gampe's avatar Andreas Gampe
Browse files

Libbase: add C++11 support to DISALLOW_IMPLICIT_CONSTRUCTORS

Use delete when possible.

Test: m
Test: m test-art-host
Change-Id: Ib741564c7a31348b2f706fe55eb23d9886f865e3
parent bd7d2e2e
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -60,9 +60,18 @@
// This should be used in the private: declarations for a class
// that wants to prevent anyone from instantiating it. This is
// especially useful for classes containing only static methods.
//
// When building with C++11 toolchains, just use the language support
// for explicitly deleted methods.
#if __cplusplus >= 201103L
#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
  TypeName() = delete;                           \
  DISALLOW_COPY_AND_ASSIGN(TypeName)
#else
#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
  TypeName();                                    \
  DISALLOW_COPY_AND_ASSIGN(TypeName)
#endif

// The arraysize(arr) macro returns the # of elements in an array arr.
// The expression is a compile-time constant, and therefore can be