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

List of all members.

Public Types

typedef _Alloc allocator_type
typedef _Deque_iterator< _Tp,
const _Tp &, _Ptr_const > 
const_iterator
typedef _Deque_iterator< _Tp,
_Tp &, _Ptr > 
iterator
typedef _Alloc_traits::size_type size_type

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, false_type)
 _Deque_base (_Deque_base &&__x, true_type)
 _Deque_base (_Deque_base &&__x)
allocator_type get_allocator () const noexcept

Protected Types

enum  { _S_initial_map_size }
typedef
__gnu_cxx::__alloc_traits
< _Tp_alloc_type > 
_Alloc_traits
typedef
__gnu_cxx::__alloc_traits
< _Map_alloc_type > 
_Map_alloc_traits
typedef
_Alloc_traits::template rebind
< _Ptr >::other 
_Map_alloc_type
typedef iterator::_Map_pointer _Map_pointer
typedef _Alloc_traits::pointer _Ptr
typedef
_Alloc_traits::const_pointer 
_Ptr_const
typedef
__gnu_cxx::__alloc_traits
< _Alloc >::template rebind
< _Tp >::other 
_Tp_alloc_type

Protected Member Functions

_Map_pointer _M_allocate_map (size_t __n)
_Ptr _M_allocate_node ()
void _M_create_nodes (_Map_pointer __nstart, _Map_pointer __nfinish)
void _M_deallocate_map (_Map_pointer __p, size_t __n) noexcept
void _M_deallocate_node (_Ptr __p) noexcept
void _M_destroy_nodes (_Map_pointer __nstart, _Map_pointer __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 458 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 681 of file stl_deque.h.

References std::__deque_buf_size(), and std::max().


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