Trait metafunction that determines whether the specified parameter t_TYPE is bitwise moveable. If IsBitwiseMoveable<t_TYPE> is derived from bsl::true_type then t_TYPE is bitwise moveable. Otherwise, bitwise moveability cannot be inferred for t_TYPE. This trait can be associated with a bitwise moveable user‐defined class by specializing this class or by using the BSLMF_NESTED_TRAIT_DECLARATION macro.

Synopsis

Declared in <bslmf_isbitwisemoveable.h>

template<class t_TYPE>
struct IsBitwiseMoveable
    : /* implementation-defined */::type

Base Classes

Name

Description

/* implementation-defined */::type

Specializations

Name

Description

IsBitwiseMoveable<bsltf::AllocBitwiseMoveableTestType>

IsBitwiseMoveable<balber::BerEncoderOptions>

IsBitwiseMoveable<bdlc::BitArray>

This template specialization for IsBitwiseMoveable indicates that BitArray is a bitwise movable type if vector<uint64_t> is a bitwise movable type.

IsBitwiseMoveable<bsltf::BitwiseMoveableTestType>

IsBitwiseMoveable<BloombergLP::bdlbb::Blob>

IsBitwiseMoveable<BloombergLP::bdlbb::BlobBuffer>

IsBitwiseMoveable<balb::Choice1>

IsBitwiseMoveable<balb::Choice2>

IsBitwiseMoveable<balb::Choice3>

IsBitwiseMoveable<balb::Choice4>

IsBitwiseMoveable<balb::Choice5>

IsBitwiseMoveable<balb::CustomInt>

IsBitwiseMoveable<balb::CustomString>

IsBitwiseMoveable<baljsn::DecoderOptions>

IsBitwiseMoveable<balxml::DecoderOptions>

IsBitwiseMoveable<baljsn::EncoderOptions>

IsBitwiseMoveable<balxml::EncoderOptions>

IsBitwiseMoveable<baljsn::EncoderTestAddress>

IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategories>

IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesChoice>

IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesCustomizedType>

IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesSequence>

IsBitwiseMoveable<baljsn::EncoderTestDegenerateChoice1>

IsBitwiseMoveable<baljsn::EncoderTestDegenerateChoice1Sequence>

IsBitwiseMoveable<baljsn::EncoderTestEmployee>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategories>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesChoice>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesCustomizedType>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesSequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged0>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged1>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged10>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged10Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged11>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged11Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged11Sequence1>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged12>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged12Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged13>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged13Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged14>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged1Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged2>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged3>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged3Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged3Sequence1>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged4>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged4Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged5>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged5Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged6>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7Sequence1>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7Sequence2>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged8>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged8Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged8Sequence1>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged9>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged9Sequence>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged9Sequence1>

IsBitwiseMoveable<balb::FeatureTestMessage>

IsBitwiseMoveable<bslma::ManagedPtrDeleter>

IsBitwiseMoveable<bslma::ManagedPtr_Members>

IsBitwiseMoveable<balb::Request>

IsBitwiseMoveable<balb::Response>

IsBitwiseMoveable<balb::Sequence1>

IsBitwiseMoveable<balb::Sequence2>

IsBitwiseMoveable<balb::Sequence3>

IsBitwiseMoveable<balb::Sequence4>

IsBitwiseMoveable<balb::Sequence5>

IsBitwiseMoveable<balb::Sequence6>

IsBitwiseMoveable<balb::SequenceWithAnonymity>

IsBitwiseMoveable<balb::SequenceWithAnonymityChoice>

IsBitwiseMoveable<balb::SequenceWithAnonymityChoice1>

IsBitwiseMoveable<balb::SequenceWithAnonymityChoice2>

IsBitwiseMoveable<balb::SimpleRequest>

IsBitwiseMoveable<bslh::SipHashAlgorithm>

IsBitwiseMoveable<bslh::SpookyHashAlgorithm>

IsBitwiseMoveable<balb::UnsignedSequence>

IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesEnumeration::Value>

IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesEnumeration::Value>

IsBitwiseMoveable<baljsn::EncodingStyle::Value>

IsBitwiseMoveable<balxml::EncodingStyle::Value>

IsBitwiseMoveable<balb::Enumerated::Value>

IsBitwiseMoveable<balm::PublicationType::Value>

IsBitwiseMoveable<balb::VoidSequence>

IsBitwiseMoveable<void>

Traits metafunction explicit specialization to indicate that the type void is not bitwise movable. Note that this specialization is used as a simpler option than making the compile‐time logic of the IsBitwiseMoveable_Imp template robust for void types.

IsBitwiseMoveable<bslalg::ConstructorProxy<OBJECT_TYPE>>

IsBitwiseMoveable<bslh::Hash<TYPE>>

IsBitwiseMoveable<bslma::ManagedPtr<TARGET_TYPE>>

IsBitwiseMoveable<bdlf::MemFn<PROTOTYPE>>

This bitwise moveable trait is redundant as it is already implied by the bslmf::IsBitwiseCopyable trait below. We retain this definition, however, as it can potentially save a level of template instantiation.

IsBitwiseMoveable<bsl::shared_ptr<ELEMENT_TYPE>>

IsBitwiseMoveable<bsl::weak_ptr<ELEMENT_TYPE>>

IsBitwiseMoveable<t_TYPE volatile>

Trait metafunction that determines whether the specified parameter t_TYPE is bitwise moveable by stripping off the volatile qualifier and forwarding to the base‐case of IsBitwiseMoveable.

IsBitwiseMoveable<t_TYPE const>

Trait metafunction that determines whether the specified parameter t_TYPE is bitwise moveable by stripping off the const qualifier and forwarding to the base‐case of IsBitwiseMoveable.

IsBitwiseMoveable<t_TYPE const volatile>

Trait metafunction that determines whether the specified parameter t_TYPE is bitwise moveable by stripping off the const and volatile qualifiers and forwarding to the base‐case of IsBitwiseMoveable.

IsBitwiseMoveable<bslstl::BidirectionalNodePool<VALUE, ALLOCATOR>>

IsBitwiseMoveable<bslma::ManagedPtr_PairProxy<POINTER_TYPE, ASSOCIATED_TYPE>>

IsBitwiseMoveable<bdlf::MemFnInstance<PROTOTYPE, INSTANCE>>

IsBitwiseMoveable<bsl::deque<VALUE_TYPE, ALLOCATOR>>

IsBitwiseMoveable<bsl::list<VALUE, ALLOCATOR>>

IsBitwiseMoveable<bsl::pair<T1, T2>>

IsBitwiseMoveable<bsl::vector<VALUE_TYPE, ALLOCATOR>>

IsBitwiseMoveable<t_TYPE[>]

IsBitwiseMoveable<t_TYPE volatile[>]

IsBitwiseMoveable<t_TYPE const[>]

IsBitwiseMoveable<t_TYPE const volatile[>]

IsBitwiseMoveable<bslstl::HashTable<KEY_CONFIG, HASHER, COMPARATOR, ALLOCATOR>>

IsBitwiseMoveable<bsl::unordered_map<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>

IsBitwiseMoveable<bsl::unordered_multimap<KEY, MAPPED, HASH, EQUAL, ALLOCATOR>>

Derived Classes

Name

Description

IsBitwiseMoveable<bdlc::BitArray>

This template specialization for IsBitwiseMoveable indicates that BitArray is a bitwise movable type if vector<uint64_t> is a bitwise movable type.

IsBitwiseMoveable<bsl::deque<VALUE_TYPE, ALLOCATOR>>

IsBitwiseMoveable<bsl::list<VALUE, ALLOCATOR>>

IsBitwiseMoveable<bsl::vector<VALUE_TYPE, ALLOCATOR>>

IsBitwiseMoveable<bdlf::MemFnInstance<PROTOTYPE, INSTANCE>>

Created with MrDocs