[#BloombergLP-bslalg-TypeTraitBitwiseMoveable] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::TypeTraitBitwiseMoveable :relfileprefix: ../../ :mrdocs: Objects of a type with this trait can be "moved" from one memory location to another using `memmove` or `memcpy`. Although the result of such a bitwise copy is two copies of the same object, this trait only guarantees that one of the copies can be destroyed. The other copy must be considered invalid and its destructor must not be called. Most types, even those that contain pointers, are bitwise moveable. Undefined behavior may result if this trait is assigned to a types that contains pointers to its own internals, use virtual inheritance, or places pointers to itself within other data structures. == Synopsis Declared in `<bslalg_typetraitbitwisemoveable.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct TypeTraitBitwiseMoveable; ---- == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/TypeTraitBitwiseMoveable/Metafunction.adoc[`Metafunction`] | Metafunction that evaluates to `IsBitwiseMoveable<TYPE>::type`. | xref:BloombergLP/bslalg/TypeTraitBitwiseMoveable/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitBitwiseMoveable` trait tag to the `bslmf::IsBitwiseMoveable` trait metafunction. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#