Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Struct template enable_move_utility_emulation



// In header: <boost/move/utility_core.hpp>

template<typename T> 
struct enable_move_utility_emulation {

  // public data members
  static const bool value;


This trait's internal boolean value is false in compilers with rvalue references and true in compilers without rvalue references.

A user can specialize this trait for a type T to false to SFINAE out move and forward so that the user can define a different move emulation for that type in namespace boost (e.g. another Boost library for its types) and avoid any overload ambiguity.