BloombergLP::bslmf::IsBitwiseMoveable

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

NameDescription
/* implementation-defined */::type

Specializations

NameDescription
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

NameDescription
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>>