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

libstdc++

__gnu_cxx::allocator< _Tp > Class Template Reference

`#include <memory>`

Inheritance diagram for __gnu_cxx::allocator< _Tp >:
[legend]

## Public Types
typedef ptrdiff_t | difference_type
using | propagate_on_container_move_assignment
typedef size_t | size_type
typedef _Tp | value_type

## Public Member Functions
constexpr | allocator (const allocator &__a) noexcept
template<typename _Tp1>
constexpr | allocator (const allocator< _Tp1 > &) noexcept
constexpr _Tp * | allocate (size_t __n)
constexpr _Tp * | allocate (size_type __n, const void *=static_cast< const void * >(0))
constexpr allocation_result< _Tp *, size_t > | allocate_at_least (size_t __n)
constexpr void | deallocate (_Tp *__p, size_t __n)
allocator & | operator= (const allocator &)=default

## Friends
constexpr bool | operator== (const allocator &, const allocator &) noexcept

## Related Symbols
(Note that these are not member symbols.)
template<typename _T1, typename _T2>
constexpr bool | operator== (const allocator< _T1 > &, const allocator< _T2 > &) noexcept

## Detailed Description

template<typename _Tp>
class __gnu_cxx::allocator< _Tp >

The standard allocator, as per C++03 [20.4.1].

See https://gcc.gnu.org/onlinedocs/libstdc++/manual/memory.html#std.util.memory.allocator for further details.

Template Parameters

  _Tp | Type of allocated object.

Definition at line 133 of file allocator.h.

## Member Typedef Documentation

## ◆ difference_type

template<typename _Tp>

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

Definition at line 138 of file allocator.h.

## ◆ propagate_on_container_move_assignment

template<typename _Tp>

using std::allocator< _Tp >::propagate_on_container_move_assignment

Definition at line 155 of file allocator.h.

## ◆ size_type

template<typename _Tp>

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

Definition at line 137 of file allocator.h.

## ◆ value_type

template<typename _Tp>

typedef _Tp std::allocator< _Tp >::value_type

Definition at line 136 of file allocator.h.

## Constructor & Destructor Documentation

## ◆ allocator() [1/3]

template<typename _Tp>

std::allocator< _Tp >::allocator | ( |  | ) |
| inlineconstexprnoexcept

Definition at line 168 of file allocator.h.

## ◆ allocator() [2/3]

template<typename _Tp>

std::allocator< _Tp >::allocator | ( | const allocator< _Tp > & | __a | ) |
| inlineconstexprnoexcept

Definition at line 172 of file allocator.h.

## ◆ allocator() [3/3]

template<typename _Tp>
template<typename _Tp1>

std::allocator< _Tp >::allocator | ( | const allocator< _Tp1 > & |  | ) |
| inlineconstexprnoexcept

Definition at line 183 of file allocator.h.

## ◆ ~allocator()

template<typename _Tp>

std::allocator< _Tp >::~allocator | ( |  | ) |
| inlineconstexprnoexcept

Definition at line 189 of file allocator.h.

## Member Function Documentation

## ◆ allocate() [1/2]

template<typename _Tp>

_Tp * std::allocator< _Tp >::allocate | ( | size_t | __n | ) |
| inlinenodiscardconstexpr

Definition at line 194 of file allocator.h.

## ◆ allocate() [2/2]

template<typename _Tp>

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

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

## ◆ allocate_at_least()

template<typename _Tp>

allocation_result< _Tp *, size_t > std::allocator< _Tp >::allocate_at_least | ( | size_t | __n | ) |
| inlinenodiscardconstexpr

Definition at line 224 of file allocator.h.

## ◆ deallocate()

template<typename _Tp>

void std::allocator< _Tp >::deallocate | ( | _Tp * | __p,
|  | size_t | __n )
| inlineconstexpr

Definition at line 211 of file allocator.h.

## Friends And Related Symbol Documentation

## ◆ operator==

template<typename _Tp>

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

Definition at line 230 of file allocator.h.

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

- allocator.h