File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change 1414namespace flags {
1515
1616
17+ constexpr struct empty_t {} empty;
18+
19+
1720template <class E > struct flags {
1821public:
1922 static_assert (is_flags<E>::value,
@@ -45,13 +48,14 @@ template <class E> struct flags {
4548
4649
4750public:
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
You can’t perform that action at this time.
0 commit comments