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

#include <scoped_allocator>

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) noexcept
 
 scoped_allocator_adaptor (const scoped_allocator_adaptor &__other) noexcept
 
template<typename _Outer2, typename = _Constructible<const _Outer2&>>
 scoped_allocator_adaptor (const scoped_allocator_adaptor< _Outer2, _InnerAllocs... > &__other) noexcept
 
 scoped_allocator_adaptor (scoped_allocator_adaptor &&__other) noexcept
 
template<typename _Outer2, typename = _Constructible<_Outer2>>
 scoped_allocator_adaptor (scoped_allocator_adaptor< _Outer2, _InnerAllocs... > &&__other) noexcept
 
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) noexcept
 
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...>
struct __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 Symbols

(Note that these are not member symbols.)

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 182 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 275 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 277 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 273 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 269 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 300 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 268 of file scoped_allocator.

◆ pointer

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

Definition at line 274 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 283 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 289 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 295 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 272 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 271 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 276 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 310 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 )
inlinenoexcept

Definition at line 313 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)
inlinenoexcept

Definition at line 319 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)
inlinenoexcept

Definition at line 324 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)
inlinenoexcept

Definition at line 330 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)
inlinenoexcept

Definition at line 338 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)
inlinenodiscard

Definition at line 367 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 )
inlinenodiscard

Definition at line 371 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 447 of file scoped_allocator.

◆ deallocate()

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

Definition at line 374 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 460 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 355 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 351 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 377 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 363 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 359 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 467 of file scoped_allocator.

Friends And Related Symbol Documentation

◆ scoped_allocator_adaptor

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

Definition at line 191 of file scoped_allocator.

◆ __inner_type_impl

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

Definition at line 194 of file scoped_allocator.


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