std::__new_allocator - Man Page

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


#include <memory>

Inherited by std::allocator< value_type >, __gnu_cxx::new_allocator< _Tp >, and std::allocator< _Tp >.

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
_Tp * allocate (size_type __n, const void *=static_cast< const void * >(0))
void deallocate (_Tp *__p, size_type __n)
__new_allocator & operator= (const __new_allocator &)=default


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

_Tp Type of allocated object.


Generated automatically by Doxygen for libstdc++ from the source code.