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

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

constexpr std::__new_allocator< _Tp >::__new_allocator | ( |  | ) |

inline constexpr noexcept

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

## __new_allocator() [2/3]

template<typename _Tp >

constexpr std::__new_allocator< _Tp >::__new_allocator | ( | const __new_allocator< _Tp > & |  | ) |

inline constexpr noexcept

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

## __new_allocator() [3/3]

template<typename _Tp >
template<typename _Tp1 >

constexpr std::__new_allocator< _Tp >::__new_allocator | ( | const __new_allocator< _Tp1 > & |  | ) |

inline constexpr noexcept

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

inline

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

## deallocate()

template<typename _Tp >

void std::__new_allocator< _Tp >::deallocate | ( | _Tp * | __p,
|  | size_type | __n
| ) |  |

inline

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

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

- bits/new_allocator.h