Index: detail/apply_visitor_binary.hpp =================================================================== --- detail/apply_visitor_binary.hpp (revision 43767) +++ detail/apply_visitor_binary.hpp (working copy) @@ -63,6 +63,9 @@ return visitor_(value1_, value2); } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + apply_visitor_binary_invoke& operator=(const apply_visitor_binary_invoke&); }; template @@ -100,6 +103,9 @@ return boost::apply_visitor(invoker, visitable2_); } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + apply_visitor_binary_unwrap& operator=(const apply_visitor_binary_unwrap&); }; }} // namespace detail::variant Index: detail/apply_visitor_delayed.hpp =================================================================== --- detail/apply_visitor_delayed.hpp (revision 43767) +++ detail/apply_visitor_delayed.hpp (working copy) @@ -72,6 +72,9 @@ return apply_visitor(visitor_, visitable1, visitable2); } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + apply_visitor_delayed_t& operator=(const apply_visitor_delayed_t&); }; template Index: detail/variant_io.hpp =================================================================== --- detail/variant_io.hpp (revision 43767) +++ detail/variant_io.hpp (working copy) @@ -64,6 +64,9 @@ out_ << operand; } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + printer& operator=(const printer&); }; }} // namespace detail::variant Index: variant.hpp =================================================================== --- variant.hpp (revision 43767) +++ variant.hpp (working copy) @@ -290,7 +290,8 @@ { operand.~T(); -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551)) +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551)) || \ + BOOST_WORKAROUND(BOOST_MSVC, >= 1300) operand; // suppresses warnings #endif @@ -529,6 +530,10 @@ #endif // MSVC6 workaround +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + direct_assigner& operator=(const direct_assigner&); + }; /////////////////////////////////////////////////////////////////////////////// @@ -647,6 +652,9 @@ BOOST_VARIANT_AUX_RETURN_VOID; } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + backup_assigner& operator=(const backup_assigner&); }; /////////////////////////////////////////////////////////////////////////////// @@ -684,6 +692,9 @@ ::boost::detail::variant::move_swap( operand, other ); } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + swap_with& operator=(const swap_with&); }; /////////////////////////////////////////////////////////////////////////////// @@ -740,6 +751,9 @@ return Comp()(lhs_content, rhs_content); } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + comparer& operator=(const comparer&); }; /////////////////////////////////////////////////////////////////////////////// @@ -891,6 +905,9 @@ return internal_visit( operand.get(), 1L ); } +private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + invoke_visitor& operator=(const invoke_visitor&); }; }} // namespace detail::variant @@ -1541,6 +1558,9 @@ BOOST_VARIANT_AUX_RETURN_VOID; } + private: + //Silence 4512 (assignment operator could not be generated) warning on VC8/9 + assigner& operator=(const assigner&); }; friend class assigner;