Core implementation of the IsBitwiseMoveable trait. A class is detected as being bitwise moveable iff it is trivially copyable or it has a nested trait declaration for the IsBitwiseMoveable trait. In C++03 however, detection of trivially copyable classes is imperfect and depends on programmer intervention. As many empty classes (including standard classes like std::less<T> would not be detected as being trivially copyable and, therefore, bitwise moveable, a heuristic is put in place whereby any type of one byte size is assumed to be bitwise moveable. See component‐level documentation for this component for more details on this heuristic and how to avoid false positives.

Synopsis

Declared in <bslmf_isbitwisemoveable.h>

template<>
struct IsBitwiseMoveable_Imp<allocator<unsigned long>>;

Type Aliases

Name

type

Static Data Members