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

libstdc++

std::__new_allocator< _Tp > Class Template Reference
Utilities » Memory » Allocators

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

## 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

  _Tp | Type of allocated object.

Definition at line 63 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 68 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 83 of file bits/new_allocator.h.

## ◆ size_type

template<typename _Tp>

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

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

## ◆ value_type

template<typename _Tp>

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

Definition at line 66 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 88 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 92 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 97 of file bits/new_allocator.h.

## Member Function Documentation

## ◆ allocate()

template<typename _Tp>

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

Definition at line 129 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 167 of file bits/new_allocator.h.

## Friends And Related Symbol Documentation

## ◆ operator==

template<typename _Tp>
template<typename _Up>

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

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

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

- bits/new_allocator.h