| 
| template<typename _Tp , typename _Alloc , typename... _Args>  | 
| constexpr _Tp  | std::make_obj_using_allocator (const _Alloc &__a, _Args &&... __args) | 
|   | 
| template<typename _T1 , typename _T2 >  | 
| constexpr bool  | std::operator== (const allocator< _T1 > &, const allocator< _T2 > &) noexcept | 
|   | 
| template<typename _OutA1 , typename _OutA2 , typename... _InA>  | 
| bool  | operator== (const scoped_allocator_adaptor< _OutA1, _InA... > &__a, const scoped_allocator_adaptor< _OutA2, _InA... > &__b) noexcept | 
|   | 
| template<typename _Tp , typename _Alloc , typename... _Args>  | 
| constexpr _Tp *  | std::uninitialized_construct_using_allocator (_Tp *__p, const _Alloc &__a, _Args &&... __args) | 
|   | 
| template<_Std_pair _Tp, typename _Alloc >  | 
| constexpr auto  | std::uses_allocator_construction_args (const _Alloc &) noexcept | 
|   | 
| template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >  | 
| constexpr auto  | std::uses_allocator_construction_args (const _Alloc &, _Up &&, _Vp &&) noexcept | 
|   | 
| template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >  | 
| constexpr auto  | std::uses_allocator_construction_args (const _Alloc &, const pair< _Up, _Vp > &) noexcept | 
|   | 
| template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >  | 
| constexpr auto  | std::uses_allocator_construction_args (const _Alloc &, pair< _Up, _Vp > &&) noexcept | 
|   | 
template<typename _Tp , typename _Alloc , typename... _Args>  
requires (! _Std_pair<_Tp>) | 
| constexpr auto  | std::uses_allocator_construction_args (const _Alloc &__a, _Args &&... __args) noexcept | 
|   | 
| template<_Std_pair _Tp, typename _Alloc , typename _Tuple1 , typename _Tuple2 >  | 
| constexpr auto  | std::uses_allocator_construction_args (const _Alloc &__a, piecewise_construct_t, _Tuple1 &&__x, _Tuple2 &&__y) noexcept | 
|   | 
Classes encapsulating memory operations.