libstdc++: __gnu_cxx::new_allocator< _Tp > Class Template Reference

libstdc++

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

## Static Public Member Functions
static constexpr void | _S_check_allocation_limit (size_t __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 57 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 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
| inherited

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

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

## ◆ value_type

template<typename _Tp>

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

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

## Constructor & Destructor Documentation

## ◆ new_allocator() [1/3]

template<typename _Tp>

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

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

## ◆ new_allocator() [2/3]

template<typename _Tp>

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

Definition at line 68 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 > & |  | ) |
| inlinenoexcept

Definition at line 71 of file ext/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 | ) |
| inlinestaticconstexprinherited

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

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

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

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

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

- ext/new_allocator.h