Quick Links: |
#include <bslmf_isbitwisemoveable.h>
Public Types | |
typedef bsl::integral_constant < bool, value > | type |
Static Public Attributes | |
static const bool | value |
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.
See Component bslmf_isbitwisemoveable
typedef bsl::integral_constant<bool, value> bslmf::IsBitwiseMoveable_Imp< t_TYPE, false >::type |
const bool bslmf::IsBitwiseMoveable_Imp< t_TYPE, false >::value [static] |
bsl::is_trivially_copyable<t_TYPE>::value || k_NestedBitwiseMoveableTrait || sizeof(t_TYPE) == 1