Skip to content

Commit f7d6be1

Browse files
committed
Made flags::flags a POD
1 parent b216087 commit f7d6be1

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

include/flags/flags.hpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
namespace flags {
1515

1616

17+
constexpr struct empty_t{} empty;
18+
19+
1720
template <class E> struct flags {
1821
public:
1922
static_assert(is_flags<E>::value,
@@ -45,13 +48,14 @@ template <class E> struct flags {
4548

4649

4750
public:
48-
constexpr flags() noexcept : val_(0) {}
51+
flags() noexcept = default;
52+
flags(const flags &fl) noexcept = default;
53+
flags &operator=(const flags &fl) noexcept = default;
54+
flags(flags &&fl) noexcept = default;
55+
flags &operator=(flags &&fl) noexcept= default;
4956

50-
flags(const flags &fl) = default;
51-
flags &operator=(const flags &fl) = default;
5257

53-
flags(flags &&fl) = default;
54-
flags &operator=(flags &&fl) = default;
58+
explicit constexpr flags(empty_t) noexcept : val_(0) {}
5559

5660

5761
#ifdef ENUM_CLASS_FLAGS_FORBID_IMPLICT_CONVERSION

0 commit comments

Comments
 (0)