Namespaces
Variants
Views
Actions

std::allocator_traits

From cppreference.com
< cpp‎ | memory
Revision as of 16:50, 2 November 2012 by P12bot (Talk | contribs)

Defined in header <memory>
template< class Alloc >
struct allocator_traits;
(since C++11)

The allocator_traits class template provides the standardized way to access various properties of allocators. The standard containers and other standard library components access allocators through this template, which makes it possible to use any class type as an allocator, as long as the user-provided specialization of allocator_traits implements all required functionality.

The default, non-specialized, allocator_traits contains the following members:

Contents

Member types

Type Definition
allocator_type Alloc
value_type Alloc::value_type
pointer Alloc::pointer if present, otherwise value_type*
const_pointer Alloc::const_pointer if present, otherwise std::pointer_traits<pointer>::rebind<const value_type>
void_pointer Alloc::void_pointer if present, otherwise std::pointer_traits<pointer>::rebind<void>
const_void_pointer Alloc::const_void_pointer if present, otherwise std::pointer_traits<pointer>::rebind<const void>
difference_type Alloc::difference_type if present, otherwise std::pointer_traits<pointer>::difference_type
size_type Alloc::size_type if present, otherwise std::make_unsigned<difference_type>::type
propagate_on_container_copy_assignment Alloc::propagate_on_container_copy_assignment if present, otherwise std::false_type
propagate_on_container_move_assignment Alloc::propagate_on_container_move_assignment if present, otherwise std::false_type
propagate_on_container_swap Alloc::propagate_on_container_swap if present, otherwise std::false_type

Member alias templates

Type Definition
rebind_alloc<T> Alloc::rebind<T>::other if present, otherwise Alloc<T, Args> if this Alloc is Alloc<U, Args>
rebind_traits<T> std::allocator_traits<rebind_alloc<T>>

Member functions

Template:cpp/memory/allocator traits/dcl list allocateTemplate:cpp/memory/allocator traits/dcl list deallocateTemplate:cpp/memory/allocator traits/dcl list constructTemplate:cpp/memory/allocator traits/dcl list destroyTemplate:cpp/memory/allocator traits/dcl list max sizeTemplate:cpp/memory/allocator traits/dcl list select on container copy construction

See also

Template:cpp/memory/dcl list allocatorTemplate:cpp/memory/dcl list scoped allocator adaptorTemplate:cpp/memory/dcl list pointer traits