libstdc++
std::_Deque_base< _Tp, _Alloc > Class Template Reference
Inheritance diagram for std::_Deque_base< _Tp, _Alloc >:
[legend]

Public Types

typedef _Alloc allocator_type
 
typedef _Deque_iterator< _Tp,
const _Tp &, const _Tp * > 
const_iterator
 
typedef _Deque_iterator< _Tp,
_Tp &, _Tp * > 
iterator
 

Public Member Functions

 _Deque_base (size_t __num_elements)
 
 _Deque_base (const allocator_type &__a, size_t __num_elements)
 
 _Deque_base (const allocator_type &__a)
 
 _Deque_base (_Deque_base &&__x)
 
allocator_type get_allocator () const noexcept
 

Protected Types

enum  { _S_initial_map_size }
 
typedef _Alloc::template
rebind< _Tp * >::other 
_Map_alloc_type
 
typedef _Alloc::template
rebind< _Tp >::other 
_Tp_alloc_type
 

Protected Member Functions

_Tp ** _M_allocate_map (size_t __n)
 
_Tp * _M_allocate_node ()
 
void _M_create_nodes (_Tp **__nstart, _Tp **__nfinish)
 
void _M_deallocate_map (_Tp **__p, size_t __n) noexcept
 
void _M_deallocate_node (_Tp *__p) noexcept
 
void _M_destroy_nodes (_Tp **__nstart, _Tp **__nfinish) noexcept
 
_Map_alloc_type _M_get_map_allocator () const noexcept
 
_Tp_alloc_type & _M_get_Tp_allocator () noexcept
 
const _Tp_alloc_type & _M_get_Tp_allocator () const noexcept
 
void _M_initialize_map (size_t)
 

Protected Attributes

_Deque_impl _M_impl
 

Detailed Description

template<typename _Tp, typename _Alloc>
class std::_Deque_base< _Tp, _Alloc >

Deque base class. This class provides the unified face for deque's allocation. This class's constructor and destructor allocate and deallocate (but do not initialize) storage. This makes exception safety easier.

Nothing in this class ever constructs or destroys an actual Tp element. (Deque handles that itself.) Only/All memory management is performed here.

Definition at line 444 of file stl_deque.h.

Member Function Documentation

template<typename _Tp , typename _Alloc >
void std::_Deque_base< _Tp, _Alloc >::_M_initialize_map ( size_t  __num_elements)
protected

Layout storage.

Parameters
__num_elementsThe count of T's for which to allocate space at first.
Returns
Nothing.

The initial underlying memory layout is a bit complicated...

Definition at line 587 of file stl_deque.h.

References std::max().


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