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

#include <memory>

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

Public Types

typedef std::ptrdiff_t difference_type
typedef std::true_type propagate_on_container_move_assignment
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
constexpr _Tp * allocate (size_type __n, const void *=static_cast< const void * >(0))
constexpr std::allocation_result< _Tp *, size_t > allocate_at_least (size_t __n)
constexpr void deallocate (_Tp *__p, size_type __n)
__new_allocator & operator= (const __new_allocator &)=default

Static Public Member Functions

static constexpr void _S_check_allocation_limit (size_t __n)

Friends

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

Detailed Description

template<typename _Tp>
class std::__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

This is the default base-class implementation of std::allocator, and is also the base-class of the __gnu_cxx::new_allocator extension. You should use either std::allocator or __gnu_cxx::new_allocator instead of using this directly.

Template Parameters
_TpType of allocated object.

Definition at line 64 of file bits/new_allocator.h.

Member Typedef Documentation

◆ difference_type

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

Definition at line 69 of file bits/new_allocator.h.

◆ propagate_on_container_move_assignment

template<typename _Tp>
typedef std::true_type std::__new_allocator< _Tp >::propagate_on_container_move_assignment

Definition at line 84 of file bits/new_allocator.h.

◆ size_type

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

Definition at line 68 of file bits/new_allocator.h.

◆ value_type

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

Definition at line 67 of file bits/new_allocator.h.

Constructor & Destructor Documentation

◆ __new_allocator() [1/3]

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

Definition at line 89 of file bits/new_allocator.h.

◆ __new_allocator() [2/3]

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

Definition at line 93 of file bits/new_allocator.h.

◆ __new_allocator() [3/3]

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

Definition at line 98 of file bits/new_allocator.h.

Member Function Documentation

◆ _S_check_allocation_limit()

template<typename _Tp>
constexpr void std::__new_allocator< _Tp >::_S_check_allocation_limit ( size_t __n)
inlinestaticconstexpr

Definition at line 129 of file bits/new_allocator.h.

◆ allocate()

template<typename _Tp>
_Tp * std::__new_allocator< _Tp >::allocate ( size_type __n,
const void * = static_cast<const void*>(0) )
inlinenodiscardconstexpr

Definition at line 144 of file bits/new_allocator.h.

◆ allocate_at_least()

template<typename _Tp>
std::allocation_result< _Tp *, size_t > std::__new_allocator< _Tp >::allocate_at_least ( size_t __n)
inlinenodiscardconstexpr

Definition at line 178 of file bits/new_allocator.h.

◆ deallocate()

template<typename _Tp>
void std::__new_allocator< _Tp >::deallocate ( _Tp * __p,
size_type __n )
inlineconstexpr

Definition at line 216 of file bits/new_allocator.h.

◆ operator==

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

Definition at line 276 of file bits/new_allocator.h.


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