__gnu_cxx::new_allocator< _Tp > Class Template Reference
Utilities » Memory » Allocators

`#include <ext/new_allocator.h>`

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

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

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

This is a non-standard extension that can be used to guarantee allocation from `new` even if the library has been configured to use a different implementation for `std::allocator`.

Template Parameters

  _Tp | Type of allocated object.

Definition at line 55 of file ext/new_allocator.h.

## Member Typedef Documentation

## difference_type

template<typename _Tp >

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

inherited

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

inherited

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

inherited

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

## value_type

template<typename _Tp >

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

inherited

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

## Constructor & Destructor Documentation

## new_allocator() [1/3]

template<typename _Tp >

__gnu_cxx::new_allocator< _Tp >::new_allocator | ( |  | ) |

inline noexcept

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

## new_allocator() [2/3]

template<typename _Tp >

__gnu_cxx::new_allocator< _Tp >::new_allocator | ( | const new_allocator< _Tp > & |  | ) |

inline noexcept

Definition at line 66 of file ext/new_allocator.h.

## new_allocator() [3/3]

template<typename _Tp >
template<typename _Tp1 >

__gnu_cxx::new_allocator< _Tp >::new_allocator | ( | const new_allocator< _Tp1 > & |  | ) |

inline noexcept

Definition at line 69 of file ext/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 inherited

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

## deallocate()

template<typename _Tp >

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

inline inherited

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

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

- ext/new_allocator.h