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

#include <new_allocator.h>

Inheritance diagram for __gnu_cxx::new_allocator< _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

constexpr new_allocator (const new_allocator &) noexcept
 
template<typename _Tp1 >
constexpr new_allocator (const new_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
 

Friends

template<typename _Up >
constexpr bool operator!= (const new_allocator &, const new_allocator< _Up > &) noexcept
 
template<typename _Up >
constexpr bool operator== (const new_allocator &, const new_allocator< _Up > &) noexcept
 

Detailed Description

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

An allocator that uses global new, as per C++03 [20.4.1].

This is precisely the allocator defined in the C++ Standard.

  • all allocation calls operator new
  • all deallocation calls operator delete
Template Parameters
_TpType of allocated object.

Definition at line 55 of file new_allocator.h.

Member Typedef Documentation

◆ const_pointer

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

Definition at line 63 of file new_allocator.h.

◆ const_reference

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

Definition at line 65 of file new_allocator.h.

◆ difference_type

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

Definition at line 60 of file new_allocator.h.

◆ pointer

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

Definition at line 62 of file new_allocator.h.

◆ propagate_on_container_move_assignment

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

Definition at line 75 of file new_allocator.h.

◆ reference

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

Definition at line 64 of file new_allocator.h.

◆ size_type

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

Definition at line 59 of file new_allocator.h.

◆ value_type

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

Definition at line 58 of file new_allocator.h.

Constructor & Destructor Documentation

◆ new_allocator() [1/3]

template<typename _Tp >
constexpr __gnu_cxx::new_allocator< _Tp >::new_allocator ( )
inlineconstexprnoexcept

Definition at line 79 of file new_allocator.h.

◆ new_allocator() [2/3]

template<typename _Tp >
constexpr __gnu_cxx::new_allocator< _Tp >::new_allocator ( const new_allocator< _Tp > &  )
inlineconstexprnoexcept

Definition at line 82 of file new_allocator.h.

◆ new_allocator() [3/3]

template<typename _Tp >
template<typename _Tp1 >
constexpr __gnu_cxx::new_allocator< _Tp >::new_allocator ( const new_allocator< _Tp1 > &  )
inlineconstexprnoexcept

Definition at line 86 of file new_allocator.h.

◆ ~new_allocator()

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

Definition at line 89 of file new_allocator.h.

Member Function Documentation

◆ address() [1/2]

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

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
inlinenoexcept

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) 
)
inline

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 
)
inlinenoexcept

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 
)
inline

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)
inlinenoexcept

Definition at line 166 of file new_allocator.h.

◆ max_size()

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

Definition at line 154 of file new_allocator.h.

Friends And Related Symbol Documentation

◆ operator!=

template<typename _Tp >
template<typename _Up >
constexpr bool operator!= ( const new_allocator< _Tp > &  ,
const new_allocator< _Up > &   
)
friend

Definition at line 190 of file new_allocator.h.

◆ operator==

template<typename _Tp >
template<typename _Up >
constexpr bool operator== ( const new_allocator< _Tp > &  ,
const new_allocator< _Up > &   
)
friend

Definition at line 183 of file new_allocator.h.


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