id summary reporter owner description type status milestone component version severity resolution keywords cc 7620 Basic rvalue and C++11 support Antony Polukhin ebf "This patch adds `variant(variant&&)`, `variant& operator=(variant&&)` and `template variant& operator=(T&&)` functions to Boost.Variant for compilers with rvalue references support (rvalue emulation via Boost.Move is not used for compatability reasons). `template variant& operator=(T&&)` function is enabled only if T&& is a rvalue reference. Patch is constructded via copying original assign functions and adding move semantics to them. Example: Visitor `copy_into` was copied as `move_into`. Copy constructors in `internal_visit` functions were replaced by move constructors. If compiler supports rvalue references, std::move is imported to namespace ::boost::detail::variant (this also worked around bug with unqualified call to `move()` in MSVC2010) `BOOST_NOEXCEPT` modifiers added to some methods. This patch improves performance up to 6 times for some operations. Was tested on GCC-4.6 (with and without c++11 mode) and MSVC2012. " Patches closed Boost 1.53.0 variant Boost 1.52.0 Optimization fixed antoshkka@…