libstdc++
std::allocator< _Tp > Class Template Reference

#include <allocator.h>

Inheritance diagram for std::allocator< _Tp >:
[legend]

Public Types

typedef const _Tp * const_pointer
typedef const _Tp & const_reference
typedef ptrdiff_t difference_type
using is_always_equal
typedef _Tp * pointer
using propagate_on_container_move_assignment
typedef _Tp & reference
typedef size_t size_type
typedef _Tp value_type

Public Member Functions

constexpr allocator (const allocator &__a) noexcept
template<typename _Tp1>
constexpr allocator (const allocator< _Tp1 > &) noexcept
const_pointer address (const_reference __x) const noexcept
pointer address (reference __x) const noexcept
_Tp * allocate (size_type __n, const void *=static_cast< const void * >(0))
template<typename _Up, typename... _Args>
void construct (_Up *__p, _Args &&... __args) noexcept(std::is_nothrow_constructible< _Up, _Args... >::value)
void deallocate (_Tp *__p, size_type __t)
template<typename _Up>
void destroy (_Up *__p) noexcept(std::is_nothrow_destructible< _Up >::value)
size_type max_size () const noexcept
allocatoroperator= (const allocator &)=default

Friends

constexpr bool operator!= (const allocator &, const allocator &) noexcept
constexpr bool operator== (const allocator &, const allocator &) noexcept

Detailed Description

template<typename _Tp>
class std::allocator< _Tp >

The standard allocator, as per C++03 [20.4.1].

See https://gcc.gnu.org/onlinedocs/libstdc++/manual/memory.html#std.util.memory.allocator for further details.

Template Parameters
_TpType of allocated object.

Definition at line 124 of file allocator.h.

Member Typedef Documentation

◆ const_pointer

template<typename _Tp>
typedef const _Tp* std::allocator< _Tp >::const_pointer

Definition at line 134 of file allocator.h.

◆ const_reference

template<typename _Tp>
typedef const _Tp& std::allocator< _Tp >::const_reference

Definition at line 136 of file allocator.h.

◆ difference_type

template<typename _Tp>
typedef ptrdiff_t std::allocator< _Tp >::difference_type

Definition at line 129 of file allocator.h.

◆ is_always_equal

template<typename _Tp>
using std::allocator< _Tp >::is_always_equal

Definition at line 148 of file allocator.h.

◆ pointer

template<typename _Tp>
typedef _Tp* std::allocator< _Tp >::pointer

Definition at line 133 of file allocator.h.

◆ propagate_on_container_move_assignment

template<typename _Tp>
using std::allocator< _Tp >::propagate_on_container_move_assignment

Definition at line 146 of file allocator.h.

◆ reference

template<typename _Tp>
typedef _Tp& std::allocator< _Tp >::reference

Definition at line 135 of file allocator.h.

◆ size_type

template<typename _Tp>
typedef size_t std::allocator< _Tp >::size_type

Definition at line 128 of file allocator.h.

◆ value_type

template<typename _Tp>
typedef _Tp std::allocator< _Tp >::value_type

Definition at line 127 of file allocator.h.

Constructor & Destructor Documentation

◆ allocator() [1/3]

template<typename _Tp>
std::allocator< _Tp >::allocator ( )
inlineconstexprnoexcept

Definition at line 154 of file allocator.h.

◆ allocator() [2/3]

template<typename _Tp>
std::allocator< _Tp >::allocator ( const allocator< _Tp > & __a)
inlineconstexprnoexcept

Definition at line 157 of file allocator.h.

◆ allocator() [3/3]

template<typename _Tp>
template<typename _Tp1>
std::allocator< _Tp >::allocator ( const allocator< _Tp1 > & )
inlineconstexprnoexcept

Definition at line 167 of file allocator.h.

◆ ~allocator()

template<typename _Tp>
std::allocator< _Tp >::~allocator ( )
inlinenoexcept

Definition at line 172 of file allocator.h.

Member Function Documentation

◆ address() [1/2]

template<typename _Tp>
const_pointer __gnu_cxx::new_allocator< _Tp >::address ( const_reference __x) const
inlinenoexceptinherited

Definition at line 96 of file new_allocator.h.

◆ address() [2/2]

template<typename _Tp>
pointer __gnu_cxx::new_allocator< _Tp >::address ( reference __x) const
inlinenoexceptinherited

Definition at line 92 of file new_allocator.h.

◆ allocate()

template<typename _Tp>
_Tp * __gnu_cxx::new_allocator< _Tp >::allocate ( size_type __n,
const void * = static_cast<const void*>(0) )
inlinenodiscardinherited

Definition at line 103 of file new_allocator.h.

◆ construct()

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

Definition at line 160 of file new_allocator.h.

◆ deallocate()

template<typename _Tp>
void __gnu_cxx::new_allocator< _Tp >::deallocate ( _Tp * __p,
size_type __t )
inlineinherited

Definition at line 132 of file new_allocator.h.

◆ destroy()

template<typename _Tp>
template<typename _Up>
void __gnu_cxx::new_allocator< _Tp >::destroy ( _Up * __p)
inlinenoexceptinherited

Definition at line 166 of file new_allocator.h.

◆ max_size()

template<typename _Tp>
size_type __gnu_cxx::new_allocator< _Tp >::max_size ( ) const
inlinenoexceptinherited

Definition at line 154 of file new_allocator.h.

◆ operator!=

template<typename _Tp>
bool operator!= ( const allocator< _Tp > & ,
const allocator< _Tp > &  )
friend

Definition at line 207 of file allocator.h.

◆ operator==

template<typename _Tp>
bool operator== ( const allocator< _Tp > & ,
const allocator< _Tp > &  )
friend

Definition at line 202 of file allocator.h.


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