diff --git a/include/boost/variant2/variant.hpp b/include/boost/variant2/variant.hpp index 61e113e..0b0d9c9 100644 --- a/include/boost/variant2/variant.hpp +++ b/include/boost/variant2/variant.hpp @@ -1238,9 +1238,28 @@ public: } // namespace detail +// disable_move_constructor + +namespace detail +{ + +template struct disable_move_constructor; + +template<> struct disable_move_constructor +{ +}; + +template<> struct disable_move_constructor +{ + disable_move_constructor() = default; + disable_move_constructor( disable_move_constructor && ) = delete; +}; + +} // namespace detail + // variant -template class variant: private detail::variant_copy_base +template class variant: private detail::variant_copy_base, private detail::disable_move_constructor...>::value> { private: @@ -1259,8 +1278,8 @@ public: #if !BOOST_WORKAROUND( BOOST_MSVC, < 1910 ) - variant( variant const& ) = default; - variant( variant && ) = default; + // variant( variant const& ) = default; + // variant( variant && ) = default; #else @@ -1314,8 +1333,8 @@ public: #if !BOOST_WORKAROUND( BOOST_MSVC, < 1910 ) - variant& operator=( variant const& ) = default; - variant& operator=( variant && ) = default; + // variant& operator=( variant const& ) = default; + // variant& operator=( variant && ) = default; #else