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, typenameallocator_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, typenameallocator_traits< _InnerAllocs >::propagate_on_container_copy_assignment... >::type propagate_on_container_copy_assignment
 
typedef __or_< typename__traits::propagate_on_container_move_assignment, typenameallocator_traits< _InnerAllocs >::propagate_on_container_move_assignment... >::type propagate_on_container_move_assignment
 
typedef __or_< typename__traits::propagate_on_container_swap, typenameallocator_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 177 of file scoped_allocator.

Member Typedef Documentation

◆ const_pointer

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::const_pointer std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::const_pointer

Definition at line 271 of file scoped_allocator.

◆ const_void_pointer

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::const_void_pointer std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::const_void_pointer

Definition at line 273 of file scoped_allocator.

◆ difference_type

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::difference_type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::difference_type

Definition at line 269 of file scoped_allocator.

◆ inner_allocator_type

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __inner_type::__type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::inner_allocator_type

Definition at line 265 of file scoped_allocator.

◆ is_always_equal

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __and_<typename__traits::is_always_equal,typenameallocator_traits<_InnerAllocs>::is_always_equal...>::type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::is_always_equal

Definition at line 296 of file scoped_allocator.

◆ outer_allocator_type

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef _OuterAlloc std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::outer_allocator_type

Definition at line 264 of file scoped_allocator.

◆ pointer

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::pointer std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::pointer

Definition at line 270 of file scoped_allocator.

◆ propagate_on_container_copy_assignment

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __or_<typename__traits::propagate_on_container_copy_assignment,typenameallocator_traits<_InnerAllocs>::propagate_on_container_copy_assignment...>::type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::propagate_on_container_copy_assignment

Definition at line 279 of file scoped_allocator.

◆ propagate_on_container_move_assignment

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __or_<typename__traits::propagate_on_container_move_assignment,typenameallocator_traits<_InnerAllocs>::propagate_on_container_move_assignment...>::type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::propagate_on_container_move_assignment

Definition at line 285 of file scoped_allocator.

◆ propagate_on_container_swap

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __or_<typename__traits::propagate_on_container_swap,typenameallocator_traits<_InnerAllocs>::propagate_on_container_swap...>::type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::propagate_on_container_swap

Definition at line 291 of file scoped_allocator.

◆ size_type

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::size_type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::size_type

Definition at line 268 of file scoped_allocator.

◆ value_type

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::value_type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::value_type

Definition at line 267 of file scoped_allocator.

◆ void_pointer

template<typename _OuterAlloc , typename... _InnerAllocs>
typedef __traits::void_pointer std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::void_pointer

Definition at line 272 of file scoped_allocator.

Constructor & Destructor Documentation

◆ scoped_allocator_adaptor() [1/6]

template<typename _OuterAlloc , typename... _InnerAllocs>
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::scoped_allocator_adaptor ( )
inline

Definition at line 306 of file scoped_allocator.

◆ scoped_allocator_adaptor() [2/6]

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename _Outer2 , typename = _Constructible<_Outer2>>
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::scoped_allocator_adaptor ( _Outer2 &&  __outer,
const _InnerAllocs &...  __inner 
)
inline

Definition at line 309 of file scoped_allocator.

◆ scoped_allocator_adaptor() [3/6]

template<typename _OuterAlloc , typename... _InnerAllocs>
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::scoped_allocator_adaptor ( const scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs > &  __other)
inline

Definition at line 315 of file scoped_allocator.

◆ scoped_allocator_adaptor() [4/6]

template<typename _OuterAlloc , typename... _InnerAllocs>
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::scoped_allocator_adaptor ( scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs > &&  __other)
inline

Definition at line 320 of file scoped_allocator.

◆ scoped_allocator_adaptor() [5/6]

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename _Outer2 , typename = _Constructible<const _Outer2&>>
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::scoped_allocator_adaptor ( const scoped_allocator_adaptor< _Outer2, _InnerAllocs... > &  __other)
inline

Definition at line 326 of file scoped_allocator.

◆ scoped_allocator_adaptor() [6/6]

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename _Outer2 , typename = _Constructible<_Outer2>>
std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::scoped_allocator_adaptor ( scoped_allocator_adaptor< _Outer2, _InnerAllocs... > &&  __other)
inline

Definition at line 333 of file scoped_allocator.

Member Function Documentation

◆ allocate() [1/2]

template<typename _OuterAlloc , typename... _InnerAllocs>
pointer std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::allocate ( size_type  __n)
inline

Definition at line 357 of file scoped_allocator.

◆ allocate() [2/2]

template<typename _OuterAlloc , typename... _InnerAllocs>
pointer std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::allocate ( size_type  __n,
const_void_pointer  __hint 
)
inline

Definition at line 360 of file scoped_allocator.

◆ construct()

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename _Tp , typename... _Args>
void std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::construct ( _Tp *  __p,
_Args &&...  __args 
)
inline

Definition at line 436 of file scoped_allocator.

◆ deallocate()

template<typename _OuterAlloc , typename... _InnerAllocs>
void std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::deallocate ( pointer  __p,
size_type  __n 
)
inline

Definition at line 363 of file scoped_allocator.

◆ destroy()

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename _Tp >
void std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::destroy ( _Tp *  __p)
inline

Definition at line 449 of file scoped_allocator.

◆ inner_allocator() [1/2]

template<typename _OuterAlloc , typename... _InnerAllocs>
const inner_allocator_type & std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::inner_allocator ( ) const
inlinenoexcept

Definition at line 348 of file scoped_allocator.

◆ inner_allocator() [2/2]

template<typename _OuterAlloc , typename... _InnerAllocs>
inner_allocator_type & std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::inner_allocator ( )
inlinenoexcept

Definition at line 345 of file scoped_allocator.

◆ max_size()

template<typename _OuterAlloc , typename... _InnerAllocs>
size_type std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::max_size ( ) const
inline

Definition at line 366 of file scoped_allocator.

◆ outer_allocator() [1/2]

template<typename _OuterAlloc , typename... _InnerAllocs>
const outer_allocator_type & std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::outer_allocator ( ) const
inlinenoexcept

Definition at line 354 of file scoped_allocator.

◆ outer_allocator() [2/2]

template<typename _OuterAlloc , typename... _InnerAllocs>
outer_allocator_type & std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::outer_allocator ( )
inlinenoexcept

Definition at line 351 of file scoped_allocator.

◆ select_on_container_copy_construction()

template<typename _OuterAlloc , typename... _InnerAllocs>
scoped_allocator_adaptor std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >::select_on_container_copy_construction ( ) const
inline

Definition at line 456 of file scoped_allocator.

Friends And Related Function Documentation

◆ scoped_allocator_adaptor

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename _Outer , typename... _Inner>
friend class scoped_allocator_adaptor
friend

Definition at line 186 of file scoped_allocator.

◆ __inner_type_impl

template<typename _OuterAlloc , typename... _InnerAllocs>
template<typename... >
friend class __inner_type_impl
friend

Definition at line 189 of file scoped_allocator.


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