[#BloombergLP-bslma-UsesBslmaAllocator-020] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::UsesBslmaAllocator :relfileprefix: ../../ :mrdocs: Metafunction that is `true_type` if `TYPE` uses the `bslma` allocator idiom. == Synopsis Declared in `<bslma_usesbslmaallocator.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TYPE> struct UsesBslmaAllocator : xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, UsesBslmaAllocator_Imp<TYPE>::value>] ---- == Description This metafunction is derived from `true_type` if `TYPE` adheres to the `bslma` allocator usage idiom and `false_type` otherwise. Note that this trait must be explicitly associated with a type in order for this metafunction to return true; simply having a constructor that implicitly converts `bslma::Allocator *` to `TYPE` is deprecated as a means of indicating that a type follows the `bslma` allocator usage idiom. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, UsesBslmaAllocator_Imp<TYPE>::value>]` | Metafunction representing a compile‐time constant of the specified (template parameter) `t_TYPE` with the specified (template parameter) `t_VALUE`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/type.adoc[`type`] | Alias for this `integral_constant` specialization. | xref:bsl/integral_constant-02/value_type.adoc[`value_type`] | Alias for the (template parameter) `t_TYPE`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/operator_call.adoc[`operator()`] | Return a copy of the template argument `t_VALUE`. | xref:bsl/integral_constant-02/2conversion.adoc[`operator t_TYPE`] | Return a copy of the template argument `t_VALUE`. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/value.adoc[`value`] | The compile‐time constant value of this metafunction. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslma/UsesBslmaAllocator-0a8.adoc[`UsesBslmaAllocator<bsltf::AllocBitwiseMoveableTestType>`] | Trait specialization: `AllocBitwiseMoveableTestType` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0b7.adoc[`UsesBslmaAllocator<bsltf::AllocEmplacableTestType>`] | Trait indicating `AllocEmplacableTestType` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0a4.adoc[`UsesBslmaAllocator<bdlc::BitArray>`] | This template specialization for `UsesBslmaAllocator` indicates that `BitArray` uses `bslma::Allocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-015d.adoc[`UsesBslmaAllocator<BloombergLP::bdlbb::Blob>`] | Specialize `UsesBslmaAllocator` to indicate that `Blob` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0de.adoc[`UsesBslmaAllocator<bslx::ByteOutStream>`] | Specialize `UsesBslmaAllocator` to indicate that `ByteOutStream` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d5.adoc[`UsesBslmaAllocator<bdlt::Calendar>`] | Trait indicating `bdlt::Calendar` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0f0.adoc[`UsesBslmaAllocator<bdlt::CalendarCache>`] | Trait indicating `bdlt::CalendarCache` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-05b.adoc[`UsesBslmaAllocator<balb::Choice1>`] | Specialize `UsesBslmaAllocator` to indicate that `Choice1` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0e3a.adoc[`UsesBslmaAllocator<balb::Choice2>`] | Specialize `UsesBslmaAllocator` to indicate that `Choice2` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-06d.adoc[`UsesBslmaAllocator<balb::Choice3>`] | Specialize `UsesBslmaAllocator` to indicate that `Choice3` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0057.adoc[`UsesBslmaAllocator<balb::Choice4>`] | Specialize `UsesBslmaAllocator` to indicate that `Choice4` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-06a7.adoc[`UsesBslmaAllocator<balb::Choice5>`] | Specialize `UsesBslmaAllocator` to indicate that `Choice5` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0873.adoc[`UsesBslmaAllocator<balb::CustomString>`] | Specialize `UsesBslmaAllocator` to indicate that `CustomString` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d9.adoc[`UsesBslmaAllocator<balxml::EncoderOptions>`] | Specialize `UsesBslmaAllocator` for `EncoderOptions`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0fb7.adoc[`UsesBslmaAllocator<baljsn::EncoderTestAddress>`] | Specialize `UsesBslmaAllocator` for `EncoderTestAddress`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0edc.adoc[`UsesBslmaAllocator<baljsn::EncoderTestChoiceWithAllCategories>`] | Specialize `UsesBslmaAllocator` for `EncoderTestChoiceWithAllCategories`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0bd.adoc[`UsesBslmaAllocator<baljsn::EncoderTestChoiceWithAllCategoriesCustomizedType>`] | Specialize `UsesBslmaAllocator` for `EncoderTestChoiceWithAllCategoriesCustomizedType`. | xref:BloombergLP/bslma/UsesBslmaAllocator-05f.adoc[`UsesBslmaAllocator<baljsn::EncoderTestEmployee>`] | Specialize `UsesBslmaAllocator` for `EncoderTestEmployee`. | xref:BloombergLP/bslma/UsesBslmaAllocator-012.adoc[`UsesBslmaAllocator<baljsn::EncoderTestSequenceWithAllCategories>`] | Specialize `UsesBslmaAllocator` for `EncoderTestSequenceWithAllCategories`. | xref:BloombergLP/bslma/UsesBslmaAllocator-022a.adoc[`UsesBslmaAllocator<baljsn::EncoderTestSequenceWithAllCategoriesCustomizedType>`] | Specialize `UsesBslmaAllocator` for `EncoderTestSequenceWithAllCategoriesCustomizedType`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d1.adoc[`UsesBslmaAllocator<balb::FeatureTestMessage>`] | Specialize `UsesBslmaAllocator` to indicate that `FeatureTestMessage` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0e67.adoc[`UsesBslmaAllocator<bsltf::MovableAllocTestType>`] | Specialize `UsesBslmaAllocator` to indicate that `MovableAllocTestType` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-09b.adoc[`UsesBslmaAllocator<bsltf::MoveOnlyAllocTestType>`] | Specialize `UsesBslmaAllocator` to indicate that `MoveOnlyAllocTestType` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0fbe.adoc[`UsesBslmaAllocator<bsltf::NonOptionalAllocTestType>`] | Specialize `UsesBslmaAllocator` to indicate that `NonOptionalAllocTestType` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-07f.adoc[`UsesBslmaAllocator<bdlt::PackedCalendar>`] | Trait indicating `bdlt::PackedCalendar` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0f4.adoc[`UsesBslmaAllocator<bdlde::QuotedPrintableEncoder>`] | Specialize `UsesBslmaAllocator` to indicate that `QuotedPrintableEncoder` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-02e.adoc[`UsesBslmaAllocator<balb::Request>`] | Specialize `UsesBslmaAllocator` to indicate that `Request` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-024c.adoc[`UsesBslmaAllocator<balb::Response>`] | Specialize `UsesBslmaAllocator` to indicate that `Response` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d2.adoc[`UsesBslmaAllocator<balb::Sequence1>`] | Specialize `UsesBslmaAllocator` to indicate that `Sequence1` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-01e.adoc[`UsesBslmaAllocator<balb::Sequence2>`] | Specialize `UsesBslmaAllocator` to indicate that `Sequence2` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-096.adoc[`UsesBslmaAllocator<balb::Sequence3>`] | Specialize `UsesBslmaAllocator` to indicate that `Sequence3` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-014.adoc[`UsesBslmaAllocator<balb::Sequence4>`] | Specialize `UsesBslmaAllocator` to indicate that `Sequence4` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0c6.adoc[`UsesBslmaAllocator<balb::Sequence5>`] | Specialize `UsesBslmaAllocator` to indicate that `Sequence5` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-05c.adoc[`UsesBslmaAllocator<balb::Sequence6>`] | Specialize `UsesBslmaAllocator` to indicate that `Sequence6` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-00d.adoc[`UsesBslmaAllocator<balb::SequenceWithAnonymity>`] | Specialize `UsesBslmaAllocator` to indicate that `SequenceWithAnonymity` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-091.adoc[`UsesBslmaAllocator<balb::SequenceWithAnonymityChoice>`] | Specialize `UsesBslmaAllocator` to indicate that `SequenceWithAnonymityChoice` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-093.adoc[`UsesBslmaAllocator<balb::SequenceWithAnonymityChoice1>`] | Specialize `UsesBslmaAllocator` to indicate that `SequenceWithAnonymityChoice1` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0a6.adoc[`UsesBslmaAllocator<balb::SequenceWithAnonymityChoice2>`] | Specialize `UsesBslmaAllocator` to indicate that `SequenceWithAnonymityChoice2` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0228.adoc[`UsesBslmaAllocator<balb::SimpleRequest>`] | Specialize `UsesBslmaAllocator` to indicate that `SimpleRequest` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-025.adoc[`UsesBslmaAllocator<bslx::TestOutStream>`] | Trait indicating `bslx::TestOutStream` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-06e.adoc[`UsesBslmaAllocator<bslmt::ThreadGroup>`] | Trait indicating `bslmt::ThreadGroup` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-03d.adoc[`UsesBslmaAllocator<bdlt::Timetable>`] | Trait indicating `bdlt::Timetable` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-04a.adoc[`UsesBslmaAllocator<bdlt::Timetable_Day>`] | Trait indicating `bdlt::Timetable_Day` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-06ae.adoc[`UsesBslmaAllocator<bsltf::WellBehavedMoveOnlyAllocTestType>`] | Trait indicating `WellBehavedMoveOnlyAllocTestType` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0e60.adoc[`UsesBslmaAllocator<bsltf::AllocArgumentType<N>>`] | Specialize `UsesBslmaAllocator` to indicate that `AllocArgumentType` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0580.adoc[`UsesBslmaAllocator<bbldc::CalendarDateRangeDayCountAdapter<CONVENTION>>`] | Specialize `UsesBslmaAllocator` for `CalendarDateRangeDayCountAdapter`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0fb5.adoc[`UsesBslmaAllocator<bdlc::CompactedArray<TYPE>>`] | This template specialization for `UsesBslmaAllocator` indicates that `CompactedArray` uses `bslma::Allocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-092.adoc[`UsesBslmaAllocator<bdlc::CompactedArray_CountedValue<TYPE>>`] | This template specialization for `UsesBslmaAllocator` indicates that `CompactedArray_CountedValue` uses `bslma::Allocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0eb.adoc[`UsesBslmaAllocator<bdlma::DefaultDeleter<TYPE>>`] | This template specialization for `UsesBslmaAllocator` indicates that `DefaultDeleter` uses `bslma::Allocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0e34.adoc[`UsesBslmaAllocator<bdlcc::Deque<TYPE>>`] | Specialize `UsesBslmaAllocator` to indicate that `bdlcc::Deque` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d4.adoc[`UsesBslmaAllocator<bslstl::Optional_Base<t_TYPE, false>>`] | Trait specialization: non‐allocator‐aware `Optional_Base` does not use allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0ccf.adoc[`UsesBslmaAllocator<bdlc::PackedIntArray<TYPE>>`] | This template specialization for `UsesBslmaAllocator` indicates that `PackedIntArray` uses `bslma::Allocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-057a.adoc[`UsesBslmaAllocator<bdlc::PackedIntArrayImp<STORAGE>>`] | This template specialization for `UsesBslmaAllocator` indicates that `PackedIntArrayImp` uses `bslma::Allocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-026.adoc[`UsesBslmaAllocator<bbldc::PeriodDateRangeDayCountAdapter<CONVENTION>>`] | Specialize `UsesBslmaAllocator` for `PeriodDateRangeDayCountAdapter`. | xref:BloombergLP/bslma/UsesBslmaAllocator-07e.adoc[`UsesBslmaAllocator<SharedPtrInplaceRep<ELEMENT_TYPE>>`] | Trait specialization: `SharedPtrInplaceRep` does not use BDE allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0f5.adoc[`UsesBslmaAllocator<bsl::allocator<TYPE>>`] | An allocator is not _itself_ an allocator‐aware type, even though it is convertible from `bsl::Allocator *`. | xref:BloombergLP/bslma/UsesBslmaAllocator-03e.adoc[`UsesBslmaAllocator<bsl::optional<t_TYPE>>`] | Trait specialization: `optional` uses allocators when `t_TYPE` does. | xref:BloombergLP/bslma/UsesBslmaAllocator-022f.adoc[`UsesBslmaAllocator<bsl::polymorphic_allocator<TYPE>>`] | An allocator is not _itself_ an allocator‐aware type, even though it is convertible from `bsl::Allocator *`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0ff6.adoc[`UsesBslmaAllocator<bsl::shared_ptr<ELEMENT_TYPE>>`] | Trait specialization: `shared_ptr` does not use `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-080.adoc[`UsesBslmaAllocator<bsl::stop_callback<t_CALLBACK>>`] | Trait specialization: `stop_callback` uses allocators when `t_CALLBACK` does. | xref:BloombergLP/bslma/UsesBslmaAllocator-0585.adoc[`UsesBslmaAllocator<TYPE volatile>`] | Partial specialization that associates the same trait with 'volatile TYPE' as with unqualified `TYPE`. | xref:BloombergLP/bslma/UsesBslmaAllocator-059.adoc[`UsesBslmaAllocator<TYPE const>`] | Partial specialization that associates the same trait with `const TYPE` as with unqualified `TYPE`. | xref:BloombergLP/bslma/UsesBslmaAllocator-08eb.adoc[`UsesBslmaAllocator<TYPE const volatile>`] | Partial specialization that associates the same trait with 'const volatile TYPE' as with unqualified `TYPE`. | xref:BloombergLP/bslma/UsesBslmaAllocator-0f1.adoc[`UsesBslmaAllocator<TYPE&>`] | Partial specialization that prevents any lvalue reference from being considered an allocator‐aware (AA) type. | xref:BloombergLP/bslma/UsesBslmaAllocator-03f.adoc[`UsesBslmaAllocator<TYPE&&>`] | Partial specialization that prevents any rvalue reference from being considered an allocator‐aware (AA) type. | xref:BloombergLP/bslma/UsesBslmaAllocator-0782.adoc[`UsesBslmaAllocator<TYPE*>`] | Partial specialization that rejects pointer types as allocator‐aware. | xref:BloombergLP/bslma/UsesBslmaAllocator-0dc.adoc[`UsesBslmaAllocator<bdlf::MemFnInstance<PROTOTYPE, INSTANCE>>`] | Trait indicating `MemFnInstance` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-008.adoc[`UsesBslmaAllocator<bslstl::SharedPtrAllocateInplaceRep<TYPE, ALLOCATOR>>`] | Trait specialization: `SharedPtrAllocateInplaceRep` does not use BDE allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-077.adoc[`UsesBslmaAllocator<bslstl::SharedPtrArrayAllocateInplaceRep<TYPE, ALLOCATOR>>`] | Trait specialization: `SharedPtrArrayAllocateInplaceRep` does not use BDE allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0ef.adoc[`UsesBslmaAllocator<SharedPtrOutofplaceRep_InitProctor<TYPE, DELETER>>`] | Specialize `UsesBslmaAllocator` to indicate that `SharedPtrOutofplaceRep_InitProctor` does not use a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-08b.adoc[`UsesBslmaAllocator<bsl::deque<VALUE_TYPE, ALLOCATOR>>`] | Trait indicating `deque` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-072.adoc[`UsesBslmaAllocator<bsl::list<VALUE, ALLOCATOR>>`] | Trait indicating `bsl::list` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-01f.adoc[`UsesBslmaAllocator<bsl::pair<T1, T2>>`] | Trait indicating `pair` uses `bslma` allocators when either element does. | xref:BloombergLP/bslma/UsesBslmaAllocator-065.adoc[`UsesBslmaAllocator<bsl::vector<VALUE_TYPE, ALLOCATOR>>`] | Trait indicating `bsl::vector` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-023.adoc[`UsesBslmaAllocator<BloombergLP::bslstl::BoyerMooreHorspoolSearcher<RNDACC_ITR_NEEDLE, HASH, EQUAL>>`] | Trait specialization: `BoyerMooreHorspoolSearcher` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0ff3.adoc[`UsesBslmaAllocator<BloombergLP::bslstl::BoyerMooreHorspoolSearcher_CharImp<RNDACC_ITR_NEEDLE, HASH, EQUAL>>`] | Trait specialization: `BoyerMooreHorspoolSearcher_CharImp` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d3.adoc[`UsesBslmaAllocator<BloombergLP::bslstl::BoyerMooreHorspoolSearcher_GeneralImp<RNDACC_ITR_NEEDLE, HASH, EQUAL>>`] | Trait specialization: `BoyerMooreHorspoolSearcher_GeneralImp` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-015e.adoc[`UsesBslmaAllocator<bdlc::FlatHashSet<KEY, HASH, EQUAL>>`] | Trait indicating `bdlc::FlatHashSet` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0cc3.adoc[`UsesBslmaAllocator<bsl::basic_istringstream<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR>>`] | Trait specialization: `basic_istringstream` uses `bslma`‐style allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0051.adoc[`UsesBslmaAllocator<bsl::basic_ostringstream<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR>>`] | Trait specialization: `basic_ostringstream` uses `bslma`‐style allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0240.adoc[`UsesBslmaAllocator<bsl::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>>`] | Trait indicating `basic_string` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-08ef.adoc[`UsesBslmaAllocator<bsl::basic_stringbuf<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR>>`] | Trait specialization: `basic_stringbuf` uses `bslma`‐style allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-07d.adoc[`UsesBslmaAllocator<bsl::basic_stringstream<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR>>`] | Trait specialization: `basic_stringstream` uses `bslma`‐style allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-000.adoc[`UsesBslmaAllocator<bsl::basic_syncbuf<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR>>`] | Trait specialization: `basic_syncbuf` uses `bslma`‐style allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0bce.adoc[`UsesBslmaAllocator<bsl::multiset<KEY, COMPARATOR, ALLOCATOR>>`] | Trait indicating `bsl::multiset` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-0877.adoc[`UsesBslmaAllocator<bsl::set<KEY, COMPARATOR, ALLOCATOR>>`] | Trait indicating `bsl::set` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-0ed7.adoc[`UsesBslmaAllocator<bdlcc::Cache<KEY, VALUE, HASH, EQUAL>>`] | Specialize `UsesBslmaAllocator` to indicate that `bdlcc::Cache` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-078a.adoc[`UsesBslmaAllocator<bdlc::FlatHashMap<KEY, VALUE, HASH, EQUAL>>`] | Trait indicating `FlatHashMap` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-045.adoc[`UsesBslmaAllocator<bslstl::HashTable<KEY_CONFIG, HASHER, COMPARATOR, ALLOCATOR>>`] | Trait indicating `HashTable` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-04c.adoc[`UsesBslmaAllocator<bdlcc::StripedUnorderedContainerImpl<KEY, VALUE, HASH, EQUAL>>`] | Specialize `UsesBslmaAllocator` to indicate that `bdlcc::StripedUnorderedContainerImpl` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0f2.adoc[`UsesBslmaAllocator<bdlcc::StripedUnorderedMap<KEY, VALUE, HASH, EQUAL>>`] | Specialize `UsesBslmaAllocator` to indicate that `bdlcc::StripedUnorderedMap` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0bca.adoc[`UsesBslmaAllocator<bdlcc::StripedUnorderedMultiMap<KEY, VALUE, HASH, EQUAL>>`] | Specialize `UsesBslmaAllocator` to indicate that `bdlcc::StripedUnorderedMultiMap` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-095.adoc[`UsesBslmaAllocator<bsl::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>>`] | Trait indicating `hash_multiset` uses `bslma` allocators when `_Alloc` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-054.adoc[`UsesBslmaAllocator<bsl::hash_set<_Value, _HashFcn, _EqualKey, _Alloc>>`] | Trait indicating `hash_set` uses `bslma` allocators when `_Alloc` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-02f.adoc[`UsesBslmaAllocator<bsl::map<KEY, VALUE, COMPARATOR, ALLOCATOR>>`] | Trait indicating `bsl::map` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-08c.adoc[`UsesBslmaAllocator<bsl::multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>>`] | Trait indicating `bsl::multimap` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-086.adoc[`UsesBslmaAllocator<bsl::unordered_multiset<KEY, HASH, EQUAL, ALLOCATOR>>`] | Trait indicating `unordered_multiset` uses `bslma` allocators. | xref:BloombergLP/bslma/UsesBslmaAllocator-010.adoc[`UsesBslmaAllocator<bsl::unordered_set<KEY, HASH, EQUAL, ALLOCATOR>>`] | Trait indicating `bsl::unordered_set` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-04f.adoc[`UsesBslmaAllocator<bdlc::FlatHashTable<KEY, ENTRY, ENTRY_UTIL, HASH, EQUAL>>`] | Specialize `UsesBslmaAllocator` to indicate that `FlatHashTable` uses a `bslma` allocator. | xref:BloombergLP/bslma/UsesBslmaAllocator-0ba.adoc[`UsesBslmaAllocator<bsl::hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>>`] | Trait indicating `hash_map` uses `bslma` allocators when `_Alloc` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-0573.adoc[`UsesBslmaAllocator<bsl::hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>>`] | Trait indicating `hash_multimap` uses `bslma` allocators when `_Alloc` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-0c1.adoc[`UsesBslmaAllocator<bsl::unordered_map<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>`] | Trait indicating `unordered_map` uses `bslma` allocators when `ALLOCATOR` allows. | xref:BloombergLP/bslma/UsesBslmaAllocator-0d0.adoc[`UsesBslmaAllocator<bsl::unordered_multimap<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>`] | Trait indicating `unordered_multimap` uses `bslma` allocators when `ALLOCATOR` allows. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/TypeTraitUsesBslmaAllocator/Metafunction.adoc[`Metafunction`] | Metafunction that delegates to `bslma::UsesBslmaAllocator`. | xref:BloombergLP/bslma/UsesBslmaAllocator-03e.adoc[`UsesBslmaAllocator<bsl::optional<t_TYPE>>`] | Trait specialization: `optional` uses allocators when `t_TYPE` does. | xref:BloombergLP/bslma/UsesBslmaAllocator-080.adoc[`UsesBslmaAllocator<bsl::stop_callback<t_CALLBACK>>`] | Trait specialization: `stop_callback` uses allocators when `t_CALLBACK` does. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#