libstdc++
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs > Class Template Reference

Inherits _OuterAlloc.

Public Types

typedef __traits::const_pointer const_pointer
 
typedef __traits::const_void_pointer const_void_pointer
 
typedef __traits::difference_type difference_type
 
typedef __inner_type::__type inner_allocator_type
 
typedef __and_< typename __traits::is_always_equal, typename allocator_traits< _InnerAllocs >::is_always_equal... >::type is_always_equal
 
typedef _OuterAlloc outer_allocator_type
 
typedef __traits::pointer pointer
 
typedef __or_< typename __traits::propagate_on_container_copy_assignment, typename allocator_traits< _InnerAllocs >::propagate_on_container_copy_assignment... >::type propagate_on_container_copy_assignment
 
typedef __or_< typename __traits::propagate_on_container_move_assignment, typename allocator_traits< _InnerAllocs >::propagate_on_container_move_assignment... >::type propagate_on_container_move_assignment
 
typedef __or_< typename __traits::propagate_on_container_swap, typename allocator_traits< _InnerAllocs >::propagate_on_container_swap... >::type propagate_on_container_swap
 
typedef __traits::size_type size_type
 
typedef __traits::value_type value_type
 
typedef __traits::void_pointer void_pointer
 

Public Member Functions

template<typename _Outer2 , typename = _Constructible<_Outer2>>
 scoped_allocator_adaptor (_Outer2 &&__outer, const _InnerAllocs &... __inner)
 
 scoped_allocator_adaptor (const scoped_allocator_adaptor &__other)
 
template<typename _Outer2 , typename = _Constructible<const _Outer2&>>
 scoped_allocator_adaptor (const scoped_allocator_adaptor< _Outer2, _InnerAllocs... > &__other)
 
 scoped_allocator_adaptor (scoped_allocator_adaptor &&__other)
 
template<typename _Outer2 , typename = _Constructible<_Outer2>>
 scoped_allocator_adaptor (scoped_allocator_adaptor< _Outer2, _InnerAllocs... > &&__other)
 
pointer allocate (size_type __n)
 
pointer allocate (size_type __n, const_void_pointer __hint)
 
template<typename _Tp , typename... _Args>
void construct (_Tp *__p, _Args &&... __args)
 
void deallocate (pointer __p, size_type __n)
 
template<typename _Tp >
void destroy (_Tp *__p)
 
const inner_allocator_type & inner_allocator () const noexcept
 
inner_allocator_type & inner_allocator () noexcept
 
size_type max_size () const
 
scoped_allocator_adaptoroperator= (const scoped_allocator_adaptor &)=default
 
scoped_allocator_adaptoroperator= (scoped_allocator_adaptor &&)=default
 
const outer_allocator_type & outer_allocator () const noexcept
 
outer_allocator_type & outer_allocator () noexcept
 
scoped_allocator_adaptor select_on_container_copy_construction () const
 

Friends

template<typename... >
class __inner_type_impl
 
template<typename _OutA1 , typename _OutA2 , typename... _InA>
bool operator== (const scoped_allocator_adaptor< _OutA1, _InA... > &__a, const scoped_allocator_adaptor< _OutA2, _InA... > &__b) noexcept
 

Related Functions

(Note that these are not member functions.)

template<typename _OutA1 , typename _OutA2 , typename... _InA>
bool operator== (const scoped_allocator_adaptor< _OutA1, _InA... > &__a, const scoped_allocator_adaptor< _OutA2, _InA... > &__b) noexcept
 

Detailed Description

template<typename _OuterAlloc, typename... _InnerAllocs>
class std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >

An adaptor to recursively pass an allocator to the objects it constructs.

Definition at line 178 of file scoped_allocator.


The documentation for this class was generated from the following file: