libstdc++
__gnu_cxx::__pool_alloc< _Tp > Class Template Reference

#include <pool_allocator.h>

Inheritance diagram for __gnu_cxx::__pool_alloc< _Tp >:
[legend]

Public Types

typedef const _Tp * const_pointer
 
typedef const _Tp & const_reference
 
typedef std::ptrdiff_t difference_type
 
typedef _Tp * pointer
 
typedef std::true_type propagate_on_container_move_assignment
 
typedef _Tp & reference
 
typedef std::size_t size_type
 
typedef _Tp value_type
 

Public Member Functions

 __pool_alloc (const __pool_alloc &) noexcept
 
template<typename _Tp1>
 __pool_alloc (const __pool_alloc< _Tp1 > &) noexcept
 
const_pointer address (const_reference __x) const noexcept
 
pointer address (reference __x) const noexcept
 
pointer allocate (size_type __n, const void *=0)
 
template<typename _Up, typename... _Args>
void construct (_Up *__p, _Args &&... __args)
 
void deallocate (pointer __p, size_type __n)
 
template<typename _Up>
void destroy (_Up *__p)
 
size_type max_size () const noexcept
 

Detailed Description

template<typename _Tp>
class __gnu_cxx::__pool_alloc< _Tp >

Allocator using a memory pool with a single lock.

Definition at line 126 of file pool_allocator.h.

Member Typedef Documentation

◆ const_pointer

template<typename _Tp>
typedef const _Tp* __gnu_cxx::__pool_alloc< _Tp >::const_pointer

Definition at line 135 of file pool_allocator.h.

◆ const_reference

template<typename _Tp>
typedef const _Tp& __gnu_cxx::__pool_alloc< _Tp >::const_reference

Definition at line 137 of file pool_allocator.h.

◆ difference_type

template<typename _Tp>
typedef std::ptrdiff_t __gnu_cxx::__pool_alloc< _Tp >::difference_type

Definition at line 133 of file pool_allocator.h.

◆ pointer

template<typename _Tp>
typedef _Tp* __gnu_cxx::__pool_alloc< _Tp >::pointer

Definition at line 134 of file pool_allocator.h.

◆ propagate_on_container_move_assignment

template<typename _Tp>
typedef std::true_type __gnu_cxx::__pool_alloc< _Tp >::propagate_on_container_move_assignment

Definition at line 147 of file pool_allocator.h.

◆ reference

template<typename _Tp>
typedef _Tp& __gnu_cxx::__pool_alloc< _Tp >::reference

Definition at line 136 of file pool_allocator.h.

◆ size_type

template<typename _Tp>
typedef std::size_t __gnu_cxx::__pool_alloc< _Tp >::size_type

Definition at line 132 of file pool_allocator.h.

◆ value_type

template<typename _Tp>
typedef _Tp __gnu_cxx::__pool_alloc< _Tp >::value_type

Definition at line 138 of file pool_allocator.h.

Constructor & Destructor Documentation

◆ __pool_alloc() [1/3]

template<typename _Tp>
__gnu_cxx::__pool_alloc< _Tp >::__pool_alloc ( )
inlinenoexcept

Definition at line 150 of file pool_allocator.h.

◆ __pool_alloc() [2/3]

template<typename _Tp>
__gnu_cxx::__pool_alloc< _Tp >::__pool_alloc ( const __pool_alloc< _Tp > & )
inlinenoexcept

Definition at line 152 of file pool_allocator.h.

◆ __pool_alloc() [3/3]

template<typename _Tp>
template<typename _Tp1>
__gnu_cxx::__pool_alloc< _Tp >::__pool_alloc ( const __pool_alloc< _Tp1 > & )
inlinenoexcept

Definition at line 155 of file pool_allocator.h.

◆ ~__pool_alloc()

template<typename _Tp>
__gnu_cxx::__pool_alloc< _Tp >::~__pool_alloc ( )
inlinenoexcept

Definition at line 157 of file pool_allocator.h.

Member Function Documentation

◆ address() [1/2]

template<typename _Tp>
const_pointer __gnu_cxx::__pool_alloc< _Tp >::address ( const_reference __x) const
inlinenoexcept

Definition at line 164 of file pool_allocator.h.

◆ address() [2/2]

template<typename _Tp>
pointer __gnu_cxx::__pool_alloc< _Tp >::address ( reference __x) const
inlinenoexcept

Definition at line 160 of file pool_allocator.h.

◆ allocate()

template<typename _Tp>
_Tp * __gnu_cxx::__pool_alloc< _Tp >::allocate ( size_type __n,
const void * = 0 )
nodiscard

Definition at line 216 of file pool_allocator.h.

◆ construct()

template<typename _Tp>
template<typename _Up, typename... _Args>
void __gnu_cxx::__pool_alloc< _Tp >::construct ( _Up * __p,
_Args &&... __args )
inline

Definition at line 174 of file pool_allocator.h.

◆ deallocate()

template<typename _Tp>
void __gnu_cxx::__pool_alloc< _Tp >::deallocate ( pointer __p,
size_type __n )

Definition at line 270 of file pool_allocator.h.

◆ destroy()

template<typename _Tp>
template<typename _Up>
void __gnu_cxx::__pool_alloc< _Tp >::destroy ( _Up * __p)
inline

Definition at line 179 of file pool_allocator.h.

◆ max_size()

template<typename _Tp>
size_type __gnu_cxx::__pool_alloc< _Tp >::max_size ( ) const
inlinenoexcept

Definition at line 168 of file pool_allocator.h.


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