File tree Expand file tree Collapse file tree
universal/include/userver/utils Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ class AtomicFlags final {
7070 constexpr AtomicFlags ()
7171 : AtomicFlags(Enum::kNone )
7272 {}
73+ constexpr explicit AtomicFlags (Flags<Enum>);
7374 constexpr explicit AtomicFlags (Enum);
7475 constexpr AtomicFlags (std::initializer_list<Enum>);
7576
@@ -217,14 +218,19 @@ constexpr bool operator!=(Enum lhs, Flags<Enum> rhs) {
217218 return rhs != Flags<Enum>{lhs};
218219}
219220
221+ template <typename Enum>
222+ constexpr AtomicFlags<Enum>::AtomicFlags(Flags<Enum> flags)
223+ : value_(flags.GetValue())
224+ {}
225+
220226template <typename Enum>
221227constexpr AtomicFlags<Enum>::AtomicFlags(Enum value)
222- : value_( static_cast <ValueType >(value))
228+ : AtomicFlags(Flags<Enum >(value))
223229{}
224230
225231template <typename Enum>
226232constexpr AtomicFlags<Enum>::AtomicFlags(std::initializer_list<Enum> values)
227- : AtomicFlags(Enum(values))
233+ : AtomicFlags(Flags< Enum> (values))
228234{}
229235
230236template <typename Enum>
You can’t perform that action at this time.
0 commit comments