BloombergLP::bslmf::IsBitwiseMoveable

This struct template implements a meta-function to determine whether the (template parameter) t_TYPE is bitwise moveable.

Synopsis

Declared in <bslmf_isbitwisemoveable.h>

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

Description

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.

Base Classes

NameDescription
/* implementation-defined */::type

Specializations

NameDescription
IsBitwiseMoveable<bsltf::AllocBitwiseMoveableTestType> Trait specialization: AllocBitwiseMoveableTestType is bitwise-moveable.
IsBitwiseMoveable<balber::BerEncoderOptions> Specialize IsBitwiseMoveable for 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> Trait specialization: BitwiseMoveableTestType is bitwise-moveable.
IsBitwiseMoveable<BloombergLP::bdlbb::Blob> Specialize IsBitwiseMoveable to indicate that Blob is bitwise moveable.
IsBitwiseMoveable<BloombergLP::bdlbb::BlobBuffer> Specialize IsBitwiseMoveable to indicate that BlobBuffer is bitwise moveable.
IsBitwiseMoveable<balb::Choice1> Specialize IsBitwiseMoveable to indicate that Choice1 is bitwise moveable.
IsBitwiseMoveable<balb::Choice2> Specialize IsBitwiseMoveable to indicate that Choice2 is bitwise moveable.
IsBitwiseMoveable<balb::Choice3> Specialize IsBitwiseMoveable to indicate that Choice3 is bitwise moveable.
IsBitwiseMoveable<balb::Choice4> Specialize IsBitwiseMoveable to indicate that Choice4 is bitwise moveable.
IsBitwiseMoveable<balb::Choice5> Specialize IsBitwiseMoveable to indicate that Choice5 is bitwise moveable.
IsBitwiseMoveable<balb::CustomInt> Specialize IsBitwiseMoveable to indicate that CustomInt is bitwise moveable.
IsBitwiseMoveable<balb::CustomString> Specialize IsBitwiseMoveable to indicate that CustomString is bitwise moveable.
IsBitwiseMoveable<baljsn::DecoderOptions> Specialize IsBitwiseMoveable for DecoderOptions.
IsBitwiseMoveable<balxml::DecoderOptions> Specialize IsBitwiseMoveable for DecoderOptions.
IsBitwiseMoveable<baljsn::EncoderOptions> Specialize IsBitwiseMoveable for EncoderOptions.
IsBitwiseMoveable<balxml::EncoderOptions> Specialize IsBitwiseMoveable for EncoderOptions.
IsBitwiseMoveable<baljsn::EncoderTestAddress> Specialize IsBitwiseMoveable for EncoderTestAddress.
IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategories> Specialize IsBitwiseMoveable for EncoderTestChoiceWithAllCategories.
IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesChoice> Specialize IsBitwiseMoveable for EncoderTestChoiceWithAllCategoriesChoice.
IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesCustomizedType> Specialize IsBitwiseMoveable for EncoderTestChoiceWithAllCategoriesCustomizedType.
IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesSequence> Specialize IsBitwiseMoveable for EncoderTestChoiceWithAllCategoriesSequence.
IsBitwiseMoveable<baljsn::EncoderTestDegenerateChoice1> Specialize IsBitwiseMoveable for EncoderTestDegenerateChoice1.
IsBitwiseMoveable<baljsn::EncoderTestDegenerateChoice1Sequence> Specialize IsBitwiseMoveable for EncoderTestDegenerateChoice1Sequence.
IsBitwiseMoveable<baljsn::EncoderTestEmployee> Specialize IsBitwiseMoveable for EncoderTestEmployee.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategories> Specialize IsBitwiseMoveable for EncoderTestSequenceWithAllCategories.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesChoice> Specialize IsBitwiseMoveable for EncoderTestSequenceWithAllCategoriesChoice.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesCustomizedType> Specialize IsBitwiseMoveable for EncoderTestSequenceWithAllCategoriesCustomizedType.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesSequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithAllCategoriesSequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged0> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged0.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged1> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged1.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged10> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged10.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged10Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged10Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged11> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged11.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged11Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged11Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged11Sequence1> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged11Sequence1.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged12> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged12.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged12Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged12Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged13> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged13.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged13Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged13Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged14> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged14.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged1Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged1Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged2> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged2.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged3> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged3.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged3Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged3Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged3Sequence1> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged3Sequence1.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged4> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged4.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged4Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged4Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged5> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged5.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged5Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged5Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged6> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged6.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged7.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged7Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7Sequence1> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged7Sequence1.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged7Sequence2> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged7Sequence2.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged8> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged8.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged8Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged8Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged8Sequence1> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged8Sequence1.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged9> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged9.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged9Sequence> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged9Sequence.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithUntagged9Sequence1> Specialize IsBitwiseMoveable for EncoderTestSequenceWithUntagged9Sequence1.
IsBitwiseMoveable<balb::FeatureTestMessage> Specialize IsBitwiseMoveable to indicate that FeatureTestMessage is bitwise moveable.
IsBitwiseMoveable<bslma::ManagedPtrDeleter> Specialize IsBitwiseMoveable to indicate that ManagedPtrDeleter is bitwise moveable.
IsBitwiseMoveable<bslma::ManagedPtr_Members> Specialize IsBitwiseMoveable as true_type for ManagedPtr_Members.
IsBitwiseMoveable<balb::Request> Specialize IsBitwiseMoveable to indicate that Request is bitwise moveable.
IsBitwiseMoveable<balb::Response> Specialize IsBitwiseMoveable to indicate that Response is bitwise moveable.
IsBitwiseMoveable<balb::Sequence1> Specialize IsBitwiseMoveable to indicate that Sequence1 is bitwise moveable.
IsBitwiseMoveable<balb::Sequence2> Specialize IsBitwiseMoveable to indicate that Sequence2 is bitwise moveable.
IsBitwiseMoveable<balb::Sequence3> Specialize IsBitwiseMoveable to indicate that Sequence3 is bitwise moveable.
IsBitwiseMoveable<balb::Sequence4> Specialize IsBitwiseMoveable to indicate that Sequence4 is bitwise moveable.
IsBitwiseMoveable<balb::Sequence5> Specialize IsBitwiseMoveable to indicate that Sequence5 is bitwise moveable.
IsBitwiseMoveable<balb::Sequence6> Specialize IsBitwiseMoveable to indicate that Sequence6 is bitwise moveable.
IsBitwiseMoveable<balb::SequenceWithAnonymity> Specialize IsBitwiseMoveable to indicate that SequenceWithAnonymity is bitwise moveable.
IsBitwiseMoveable<balb::SequenceWithAnonymityChoice> Specialize IsBitwiseMoveable to indicate that SequenceWithAnonymityChoice is bitwise moveable.
IsBitwiseMoveable<balb::SequenceWithAnonymityChoice1> Specialize IsBitwiseMoveable to indicate that SequenceWithAnonymityChoice1 is bitwise moveable.
IsBitwiseMoveable<balb::SequenceWithAnonymityChoice2> Specialize IsBitwiseMoveable to indicate that SequenceWithAnonymityChoice2 is bitwise moveable.
IsBitwiseMoveable<balb::SimpleRequest> Specialize IsBitwiseMoveable to indicate that SimpleRequest is bitwise moveable.
IsBitwiseMoveable<bslh::SipHashAlgorithm> Specialize IsBitwiseMoveable to indicate that SipHashAlgorithm is bitwise moveable.
IsBitwiseMoveable<bslh::SpookyHashAlgorithm> Specialize IsBitwiseMoveable to indicate that SpookyHashAlgorithm is bitwise moveable.
IsBitwiseMoveable<balb::UnsignedSequence> Specialize IsBitwiseMoveable to indicate that UnsignedSequence is bitwise moveable.
IsBitwiseMoveable<baljsn::EncoderTestChoiceWithAllCategoriesEnumeration::Value> Specialize IsBitwiseMoveable for EncoderTestChoiceWithAllCategoriesEnumeration::Value.
IsBitwiseMoveable<baljsn::EncoderTestSequenceWithAllCategoriesEnumeration::Value> Specialize IsBitwiseMoveable for EncoderTestSequenceWithAllCategoriesEnumeration::Value.
IsBitwiseMoveable<baljsn::EncodingStyle::Value> Specialize IsBitwiseMoveable to indicate that Value is bitwise moveable.
IsBitwiseMoveable<balxml::EncodingStyle::Value> Specialize IsBitwiseMoveable to indicate that Value is bitwise moveable.
IsBitwiseMoveable<balb::Enumerated::Value> Specialize IsBitwiseMoveable to indicate that Value is bitwise moveable.
IsBitwiseMoveable<balm::PublicationType::Value> Specialize IsBitwiseMoveable to indicate that Value is bitwise moveable.
IsBitwiseMoveable<balb::VoidSequence> Specialize IsBitwiseMoveable to indicate that VoidSequence is bitwise moveable.
IsBitwiseMoveable<void> This explicit specialization reports that void is not bitwise moveable.
IsBitwiseMoveable<bslalg::ConstructorProxy<OBJECT_TYPE>> Trait specialization: ConstructorProxy is bitwise moveable when its OBJECT_TYPE is bitwise moveable.
IsBitwiseMoveable<bslh::Hash<TYPE>> Trait indicating that bslh::Hash is bitwise moveable.
IsBitwiseMoveable<bslma::ManagedPtr<TARGET_TYPE>> Trait specialization: ManagedPtr is bitwise moveable.
IsBitwiseMoveable<bdlf::MemFn<PROTOTYPE>> Trait indicating MemFn is always bitwise-moveable.
IsBitwiseMoveable<bsl::shared_ptr<ELEMENT_TYPE>> Trait specialization: shared_ptr is bitwise moveable.
IsBitwiseMoveable<bsl::weak_ptr<ELEMENT_TYPE>> Trait specialization: weak_ptr is bitwise moveable.
IsBitwiseMoveable<t_TYPE volatile> This partial specialization ensures that volatile-qualified types have the same result as their element type.
IsBitwiseMoveable<t_TYPE const> This partial specialization ensures that const-qualified types have the same result as their element type.
IsBitwiseMoveable<t_TYPE const volatile> This partial specialization ensures that const-volatile-qualified types have the same result as their element type.
IsBitwiseMoveable<bslstl::BidirectionalNodePool<VALUE, ALLOCATOR>> Trait indicating BidirectionalNodePool is bitwise moveable when its allocator is.
IsBitwiseMoveable<bslma::ManagedPtr_PairProxy<POINTER_TYPE, ASSOCIATED_TYPE>> Trait indicating ManagedPtr_PairProxy is bitwise-moveable when its associated type is.
IsBitwiseMoveable<bdlf::MemFnInstance<PROTOTYPE, INSTANCE>> Trait indicating MemFnInstance is bitwise-moveable if INSTANCE is.
IsBitwiseMoveable<bsl::deque<VALUE_TYPE, ALLOCATOR>> Trait indicating deque is bitwise-moveable when its allocator is.
IsBitwiseMoveable<bsl::list<VALUE, ALLOCATOR>> Trait indicating bsl::list is bitwise movable when its allocator is.
IsBitwiseMoveable<bsl::pair<T1, T2>> Trait indicating pair is bitwise-moveable when both elements are.
IsBitwiseMoveable<bsl::vector<VALUE_TYPE, ALLOCATOR>> Trait indicating bsl::vector is bitwise movable when its allocator is.
IsBitwiseMoveable<t_TYPE[]> This partial specialization ensures that array types have the same result as their element type.
IsBitwiseMoveable<t_TYPE volatile[]> This partial specialization ensures that volatile-qualified array types have the same result as their element type.
IsBitwiseMoveable<t_TYPE const[]> This partial specialization ensures that const-qualified array types have the same result as their element type.
IsBitwiseMoveable<t_TYPE const volatile[]> This partial specialization ensures that const-volatile-qualified array types have the same result as their element type.
IsBitwiseMoveable<bslstl::HashTable<KEY_CONFIG, HASHER, COMPARATOR, ALLOCATOR>> Trait indicating HashTable is bitwise-movable when its parts are.
IsBitwiseMoveable<bsl::unordered_map<KEY, VALUE, HASH, EQUAL, ALLOCATOR>> Trait indicating whether unordered_map is bitwise movable.
IsBitwiseMoveable<bsl::unordered_multimap<KEY, MAPPED, HASH, EQUAL, ALLOCATOR>> Trait indicating unordered_multimap is bitwise-movable when its table is.

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>> Trait indicating deque is bitwise-moveable when its allocator is.
IsBitwiseMoveable<bsl::list<VALUE, ALLOCATOR>> Trait indicating bsl::list is bitwise movable when its allocator is.
IsBitwiseMoveable<bsl::vector<VALUE_TYPE, ALLOCATOR>> Trait indicating bsl::vector is bitwise movable when its allocator is.
IsBitwiseMoveable<bdlf::MemFnInstance<PROTOTYPE, INSTANCE>> Trait indicating MemFnInstance is bitwise-moveable if INSTANCE is.