[#BloombergLP-bslmf-IsBitwiseMoveable-0fb]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::IsBitwiseMoveable
:relfileprefix: ../../
:mrdocs:

This `struct` template implements a meta&hyphen;function to determine whether the (template parameter) `t&lowbar;TYPE` is bitwise moveable&period;

== Synopsis

Declared in `&lt;bslmf&lowbar;isbitwisemoveable&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TYPE&gt;
struct IsBitwiseMoveable
    : &sol;&ast; implementation-defined &ast;&sol;::type
----

== Description

If `IsBitwiseMoveable&lt;t&lowbar;TYPE&gt;` is derived from `bsl&colon;&colon;true&lowbar;type` then `t&lowbar;TYPE` is bitwise moveable&period; Otherwise, bitwise moveability cannot be inferred for `t&lowbar;TYPE`&period; This trait can be associated with a bitwise moveable user&hyphen;defined class by specializing this class or by using the `BSLMF&lowbar;NESTED&lowbar;TRAIT&lowbar;DECLARATION` macro&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `&sol;&ast; implementation-defined &ast;&sol;::type`
| 
|===

== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f21.adoc[`IsBitwiseMoveable&lt;bsltf::AllocBitwiseMoveableTestType&gt;`] 
| Trait specialization&colon; `AllocBitwiseMoveableTestType` is bitwise&hyphen;moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ad2.adoc[`IsBitwiseMoveable&lt;balber::BerEncoderOptions&gt;`] 
| Specialize `IsBitwiseMoveable` for `BerEncoderOptions`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0005.adoc[`IsBitwiseMoveable&lt;bdlc::BitArray&gt;`] 
| This template specialization for `IsBitwiseMoveable` indicates that `BitArray` is a bitwise movable type if `vector&lt;uint64&lowbar;t&gt;` is a bitwise movable type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0c9.adoc[`IsBitwiseMoveable&lt;bsltf::BitwiseMoveableTestType&gt;`] 
| Trait specialization&colon; `BitwiseMoveableTestType` is bitwise&hyphen;moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0a1.adoc[`IsBitwiseMoveable&lt;BloombergLP::bdlbb::Blob&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Blob` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0dc.adoc[`IsBitwiseMoveable&lt;BloombergLP::bdlbb::BlobBuffer&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `BlobBuffer` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02a.adoc[`IsBitwiseMoveable&lt;balb::Choice1&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Choice1` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ca.adoc[`IsBitwiseMoveable&lt;balb::Choice2&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Choice2` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0535.adoc[`IsBitwiseMoveable&lt;balb::Choice3&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Choice3` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02e6.adoc[`IsBitwiseMoveable&lt;balb::Choice4&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Choice4` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-069.adoc[`IsBitwiseMoveable&lt;balb::Choice5&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Choice5` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0eb9.adoc[`IsBitwiseMoveable&lt;balb::CustomInt&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `CustomInt` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-019d.adoc[`IsBitwiseMoveable&lt;balb::CustomString&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `CustomString` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0db.adoc[`IsBitwiseMoveable&lt;baljsn::DecoderOptions&gt;`] 
| Specialize `IsBitwiseMoveable` for `DecoderOptions`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0af9.adoc[`IsBitwiseMoveable&lt;balxml::DecoderOptions&gt;`] 
| Specialize `IsBitwiseMoveable` for `DecoderOptions`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0fd3.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderOptions&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderOptions`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-083.adoc[`IsBitwiseMoveable&lt;balxml::EncoderOptions&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderOptions`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0b0.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestAddress&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestAddress`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-075.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestChoiceWithAllCategories&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestChoiceWithAllCategories`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f0.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestChoiceWithAllCategoriesChoice&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestChoiceWithAllCategoriesChoice`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0a5.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestChoiceWithAllCategoriesCustomizedType&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestChoiceWithAllCategoriesCustomizedType`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ae1.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestChoiceWithAllCategoriesSequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestChoiceWithAllCategoriesSequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0adf.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestDegenerateChoice1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestDegenerateChoice1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-08a.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestDegenerateChoice1Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestDegenerateChoice1Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0cd.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestEmployee&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestEmployee`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-090.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithAllCategories&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithAllCategories`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ebe.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithAllCategoriesChoice&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithAllCategoriesChoice`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f2e.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithAllCategoriesCustomizedType&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithAllCategoriesCustomizedType`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0c8.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithAllCategoriesSequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithAllCategoriesSequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f60.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged0&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged0`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-012.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0d2.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged10&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged10`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0bc.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged10Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged10Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-08e.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged11&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged11`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-00f.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged11Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged11Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-024d.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged11Sequence1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged11Sequence1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0af4.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged12&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged12`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-067.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged12Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged12Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-04e.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged13&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged13`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-061.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged13Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged13Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ae7.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged14&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged14`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-052.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged1Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged1Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0773.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged2&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged2`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02b4.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged3&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged3`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0fd4.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged3Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged3Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0450.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged3Sequence1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged3Sequence1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-033.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged4&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged4`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-076.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged4Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged4Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0c0.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged5&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged5`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0242.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged5Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged5Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-045f.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged6&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged6`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f1.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged7&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged7`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ee.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged7Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged7Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ce.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged7Sequence1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged7Sequence1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0d48.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged7Sequence2&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged7Sequence2`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-046.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged8&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged8`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02b3.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged8Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged8Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-063.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged8Sequence1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged8Sequence1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-06aa.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged9&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged9`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-055.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged9Sequence&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged9Sequence`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0be.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithUntagged9Sequence1&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithUntagged9Sequence1`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0aa.adoc[`IsBitwiseMoveable&lt;balb::FeatureTestMessage&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `FeatureTestMessage` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-07e.adoc[`IsBitwiseMoveable&lt;bslma::ManagedPtrDeleter&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `ManagedPtrDeleter` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-03b.adoc[`IsBitwiseMoveable&lt;bslma::ManagedPtr&lowbar;Members&gt;`] 
| Specialize `IsBitwiseMoveable` as `true&lowbar;type` for `ManagedPtr&lowbar;Members`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0cc.adoc[`IsBitwiseMoveable&lt;balb::Request&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Request` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0684.adoc[`IsBitwiseMoveable&lt;balb::Response&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Response` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-06d.adoc[`IsBitwiseMoveable&lt;balb::Sequence1&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Sequence1` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-020.adoc[`IsBitwiseMoveable&lt;balb::Sequence2&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Sequence2` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0b6.adoc[`IsBitwiseMoveable&lt;balb::Sequence3&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Sequence3` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f8.adoc[`IsBitwiseMoveable&lt;balb::Sequence4&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Sequence4` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02d.adoc[`IsBitwiseMoveable&lt;balb::Sequence5&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Sequence5` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-06a8.adoc[`IsBitwiseMoveable&lt;balb::Sequence6&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Sequence6` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02b5.adoc[`IsBitwiseMoveable&lt;balb::SequenceWithAnonymity&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SequenceWithAnonymity` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0ba.adoc[`IsBitwiseMoveable&lt;balb::SequenceWithAnonymityChoice&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SequenceWithAnonymityChoice` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-097.adoc[`IsBitwiseMoveable&lt;balb::SequenceWithAnonymityChoice1&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SequenceWithAnonymityChoice1` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0e1.adoc[`IsBitwiseMoveable&lt;balb::SequenceWithAnonymityChoice2&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SequenceWithAnonymityChoice2` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-05e.adoc[`IsBitwiseMoveable&lt;balb::SimpleRequest&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SimpleRequest` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0680.adoc[`IsBitwiseMoveable&lt;bslh::SipHashAlgorithm&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SipHashAlgorithm` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0b5.adoc[`IsBitwiseMoveable&lt;bslh::SpookyHashAlgorithm&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `SpookyHashAlgorithm` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-032.adoc[`IsBitwiseMoveable&lt;balb::UnsignedSequence&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `UnsignedSequence` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-09de.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestChoiceWithAllCategoriesEnumeration::Value&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestChoiceWithAllCategoriesEnumeration&colon;&colon;Value`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f66.adoc[`IsBitwiseMoveable&lt;baljsn::EncoderTestSequenceWithAllCategoriesEnumeration::Value&gt;`] 
| Specialize `IsBitwiseMoveable` for `EncoderTestSequenceWithAllCategoriesEnumeration&colon;&colon;Value`&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-099.adoc[`IsBitwiseMoveable&lt;baljsn::EncodingStyle::Value&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Value` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0d1.adoc[`IsBitwiseMoveable&lt;balxml::EncodingStyle::Value&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Value` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-02e9.adoc[`IsBitwiseMoveable&lt;balb::Enumerated::Value&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Value` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0536.adoc[`IsBitwiseMoveable&lt;balm::PublicationType::Value&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `Value` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0c7.adoc[`IsBitwiseMoveable&lt;balb::VoidSequence&gt;`] 
| Specialize `IsBitwiseMoveable` to indicate that `VoidSequence` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0cb.adoc[`IsBitwiseMoveable&lt;void&gt;`] 
| This explicit specialization reports that `void` is not bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0e6.adoc[`IsBitwiseMoveable&lt;bslalg::ConstructorProxy&lt;OBJECT&lowbar;TYPE&gt;&gt;`] 
| Trait specialization&colon; `ConstructorProxy` is bitwise moveable when its `OBJECT&lowbar;TYPE` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-06e.adoc[`IsBitwiseMoveable&lt;bslh::Hash&lt;TYPE&gt;&gt;`] 
| Trait indicating that `bslh&colon;&colon;Hash` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-06a7.adoc[`IsBitwiseMoveable&lt;bslma::ManagedPtr&lt;TARGET&lowbar;TYPE&gt;&gt;`] 
| Trait specialization&colon; `ManagedPtr` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-003.adoc[`IsBitwiseMoveable&lt;bdlf::MemFn&lt;PROTOTYPE&gt;&gt;`] 
| Trait indicating `MemFn` is always bitwise&hyphen;moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-013.adoc[`IsBitwiseMoveable&lt;bsl::shared&lowbar;ptr&lt;ELEMENT&lowbar;TYPE&gt;&gt;`] 
| Trait specialization&colon; `shared&lowbar;ptr` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f7.adoc[`IsBitwiseMoveable&lt;bsl::weak&lowbar;ptr&lt;ELEMENT&lowbar;TYPE&gt;&gt;`] 
| Trait specialization&colon; `weak&lowbar;ptr` is bitwise moveable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0e8.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE volatile&gt;`] 
| This partial specialization ensures that volatile&hyphen;qualified types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0f23.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE const&gt;`] 
| This partial specialization ensures that const&hyphen;qualified types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-024f.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE const volatile&gt;`] 
| This partial specialization ensures that const&hyphen;volatile&hyphen;qualified types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0fd8.adoc[`IsBitwiseMoveable&lt;bslstl::BidirectionalNodePool&lt;VALUE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `BidirectionalNodePool` is bitwise moveable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-044.adoc[`IsBitwiseMoveable&lt;bslma::ManagedPtr&lowbar;PairProxy&lt;POINTER&lowbar;TYPE, ASSOCIATED&lowbar;TYPE&gt;&gt;`] 
| Trait indicating `ManagedPtr&lowbar;PairProxy` is bitwise&hyphen;moveable when its associated type is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0e0.adoc[`IsBitwiseMoveable&lt;bdlf::MemFnInstance&lt;PROTOTYPE, INSTANCE&gt;&gt;`] 
| Trait indicating `MemFnInstance` is bitwise&hyphen;moveable if `INSTANCE` is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-015.adoc[`IsBitwiseMoveable&lt;bsl::deque&lt;VALUE&lowbar;TYPE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `deque` is bitwise&hyphen;moveable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-092.adoc[`IsBitwiseMoveable&lt;bsl::list&lt;VALUE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `bsl&colon;&colon;list` is bitwise movable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-01d.adoc[`IsBitwiseMoveable&lt;bsl::pair&lt;T1, T2&gt;&gt;`] 
| Trait indicating `pair` is bitwise&hyphen;moveable when both elements are&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0a7.adoc[`IsBitwiseMoveable&lt;bsl::vector&lt;VALUE&lowbar;TYPE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `bsl&colon;&colon;vector` is bitwise movable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0b4.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE[]&gt;`] 
| This partial specialization ensures that array types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-074.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE volatile[]&gt;`] 
| This partial specialization ensures that volatile&hyphen;qualified array types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-073.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE const[]&gt;`] 
| This partial specialization ensures that const&hyphen;qualified array types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0198.adoc[`IsBitwiseMoveable&lt;t&lowbar;TYPE const volatile[]&gt;`] 
| This partial specialization ensures that const&hyphen;volatile&hyphen;qualified array types have the same result as their element type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-09dc.adoc[`IsBitwiseMoveable&lt;bslstl::HashTable&lt;KEY&lowbar;CONFIG, HASHER, COMPARATOR, ALLOCATOR&gt;&gt;`] 
| Trait indicating `HashTable` is bitwise&hyphen;movable when its parts are&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-029.adoc[`IsBitwiseMoveable&lt;bsl::unordered&lowbar;map&lt;KEY, VALUE, HASH, EQUAL, ALLOCATOR&gt;&gt;`] 
| Trait indicating whether `unordered&lowbar;map` is bitwise movable&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0d46.adoc[`IsBitwiseMoveable&lt;bsl::unordered&lowbar;multimap&lt;KEY, MAPPED, HASH, EQUAL, ALLOCATOR&gt;&gt;`] 
| Trait indicating `unordered&lowbar;multimap` is bitwise&hyphen;movable when its table is&period;
|===


== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0005.adoc[`IsBitwiseMoveable&lt;bdlc::BitArray&gt;`] 
| This template specialization for `IsBitwiseMoveable` indicates that `BitArray` is a bitwise movable type if `vector&lt;uint64&lowbar;t&gt;` is a bitwise movable type&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-015.adoc[`IsBitwiseMoveable&lt;bsl::deque&lt;VALUE&lowbar;TYPE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `deque` is bitwise&hyphen;moveable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-092.adoc[`IsBitwiseMoveable&lt;bsl::list&lt;VALUE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `bsl&colon;&colon;list` is bitwise movable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0a7.adoc[`IsBitwiseMoveable&lt;bsl::vector&lt;VALUE&lowbar;TYPE, ALLOCATOR&gt;&gt;`] 
| Trait indicating `bsl&colon;&colon;vector` is bitwise movable when its allocator is&period;
| xref:BloombergLP/bslmf/IsBitwiseMoveable-0e0.adoc[`IsBitwiseMoveable&lt;bdlf::MemFnInstance&lt;PROTOTYPE, INSTANCE&gt;&gt;`] 
| Trait indicating `MemFnInstance` is bitwise&hyphen;moveable if `INSTANCE` is&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
