libstdc++: std::__debug::deque< _Tp, _Allocator > Class Template Reference

libstdc++

std::__debug::deque< _Tp, _Allocator > Class Template Reference

`#include <deque>`

Inheritance diagram for std::__debug::deque< _Tp, _Allocator >:
[legend]

## Public Types
typedef _Allocator | allocator_type
typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, deque > | const_iterator
typedef _Base::const_pointer | const_pointer
typedef _Base::const_reference | const_reference
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator
typedef _Base::difference_type | difference_type
typedef __gnu_debug::_Safe_iterator< _Base_iterator, deque > | iterator
typedef _Base::pointer | pointer
typedef _Base::reference | reference
typedef std::reverse_iterator< iterator > | reverse_iterator
typedef _Base::size_type | size_type
typedef _Tp | value_type

## Public Member Functions
| deque (_Base_ref __x)
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
| deque (_InputIterator __first, _InputIterator __last, const _Allocator &__a=_Allocator())
| deque (const _Allocator &__a)
| deque (const deque &)=default
| deque (const deque &__d, const __type_identity_t< _Allocator > &__a)
| deque (deque &&)=default
| deque (deque &&__d, const __type_identity_t< _Allocator > &__a)
| deque (initializer_list< value_type > __l, const allocator_type &__a=allocator_type())
| deque (size_type __n, const __type_identity_t< _Tp > &__value, const _Allocator &__a=_Allocator())
| deque (size_type __n, const _Allocator &__a=_Allocator())
const _Base & | _M_base () const noexcept
_Base & | _M_base () noexcept
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
void | assign (_InputIterator __first, _InputIterator __last)
void | assign (initializer_list< value_type > __l)
void | assign (size_type __n, const _Tp &__t)
const_reference | back () const noexcept
reference | back () noexcept
const_iterator | begin () const noexcept
iterator | begin () noexcept
const_iterator | cbegin () const noexcept
const_iterator | cend () const noexcept
void | clear () noexcept
const_reverse_iterator | crbegin () const noexcept
const_reverse_iterator | crend () const noexcept
template<typename... _Args>
iterator | emplace (const_iterator __position, _Args &&... __args)
template<typename... _Args>
reference | emplace_back (_Args &&... __args)
template<typename... _Args>
reference | emplace_front (_Args &&... __args)
const_iterator | end () const noexcept
iterator | end () noexcept
iterator | erase (const_iterator __first, const_iterator __last)
iterator | erase (const_iterator __position)
const_reference | front () const noexcept
reference | front () noexcept
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
iterator | insert (const_iterator __position, _InputIterator __first, _InputIterator __last)
iterator | insert (const_iterator __position, _Tp &&__x)
iterator | insert (const_iterator __position, const _Tp &__x)
iterator | insert (const_iterator __position, initializer_list< value_type > __l)
iterator | insert (const_iterator __position, size_type __n, const _Tp &__x)
deque & | operator= (const deque &)=default
deque & | operator= (deque &&)=default
deque & | operator= (initializer_list< value_type > __l)
const_reference | operator[] (size_type __n) const noexcept
reference | operator[] (size_type __n) noexcept
void | pop_back () noexcept
void | pop_front () noexcept
void | push_back (_Tp &&__x)
void | push_back (const _Tp &__x)
void | push_front (_Tp &&__x)
void | push_front (const _Tp &__x)
const_reverse_iterator | rbegin () const noexcept
reverse_iterator | rbegin () noexcept
const_reverse_iterator | rend () const noexcept
reverse_iterator | rend () noexcept
void | resize (size_type __sz)
void | resize (size_type __sz, const _Tp &__c)
void | shrink_to_fit () noexcept
void | swap (deque &__x) noexcept(/*conditional */)

## Protected Member Functions
constexpr void | _M_swap (const _Safe_container &__x) const noexcept

## Friends
template<typename _ItT, typename _SeqT, typename _CatT>
class | ::__gnu_debug::_Safe_iterator

## Detailed Description

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
class std::__debug::deque< _Tp, _Allocator >

Class std::deque with safety/checking/debug instrumentation.

Definition at line 52 of file debug/deque.

## Member Typedef Documentation

## ◆ allocator_type

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Allocator std::__debug::deque< _Tp, _Allocator >::allocator_type

Definition at line 92 of file debug/deque.

## ◆ const_iterator

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef __gnu_debug::_Safe_iterator<_Base_const_iterator, deque> std::__debug::deque< _Tp, _Allocator >::const_iterator

Definition at line 86 of file debug/deque.

## ◆ const_pointer

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Base::const_pointer std::__debug::deque< _Tp, _Allocator >::const_pointer

Definition at line 94 of file debug/deque.

## ◆ const_reference

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Base::const_reference std::__debug::deque< _Tp, _Allocator >::const_reference

Definition at line 81 of file debug/deque.

## ◆ const_reverse_iterator

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef std::reverse_iterator<const_iterator> std::__debug::deque< _Tp, _Allocator >::const_reverse_iterator

Definition at line 96 of file debug/deque.

## ◆ difference_type

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Base::difference_type std::__debug::deque< _Tp, _Allocator >::difference_type

Definition at line 89 of file debug/deque.

## ◆ iterator

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef __gnu_debug::_Safe_iterator<_Base_iterator, deque> std::__debug::deque< _Tp, _Allocator >::iterator

Definition at line 84 of file debug/deque.

## ◆ pointer

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Base::pointer std::__debug::deque< _Tp, _Allocator >::pointer

Definition at line 93 of file debug/deque.

## ◆ reference

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Base::reference std::__debug::deque< _Tp, _Allocator >::reference

Definition at line 80 of file debug/deque.

## ◆ reverse_iterator

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef std::reverse_iterator<iterator> std::__debug::deque< _Tp, _Allocator >::reverse_iterator

Definition at line 95 of file debug/deque.

## ◆ size_type

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Base::size_type std::__debug::deque< _Tp, _Allocator >::size_type

Definition at line 88 of file debug/deque.

## ◆ value_type

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

typedef _Tp std::__debug::deque< _Tp, _Allocator >::value_type

Definition at line 91 of file debug/deque.

## Constructor & Destructor Documentation

## ◆ deque() [1/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | const deque< _Tp, _Allocator > & | __d,
|  | const __type_identity_t< _Allocator > & | __a )
| inline

Definition at line 113 of file debug/deque.

## ◆ deque() [2/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | deque< _Tp, _Allocator > && | __d,
|  | const __type_identity_t< _Allocator > & | __a )
| inline

Definition at line 116 of file debug/deque.

## ◆ deque() [3/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | initializer_list< value_type > | __l,
|  | const allocator_type & | __a = allocator_type() )
| inline

Definition at line 119 of file debug/deque.

## ◆ deque() [4/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | const _Allocator & | __a | ) |
| inlineexplicit

Definition at line 127 of file debug/deque.

## ◆ deque() [5/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | size_type | __n,
|  | const _Allocator & | __a = _Allocator() )
| inlineexplicit

Definition at line 132 of file debug/deque.

## ◆ deque() [6/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | size_type | __n,
|  | const __type_identity_t< _Tp > & | __value,
|  | const _Allocator & | __a = _Allocator() )
| inline

Definition at line 135 of file debug/deque.

## ◆ deque() [7/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | _InputIterator | __first,
|  | _InputIterator | __last,
|  | const _Allocator & | __a = _Allocator() )
| inline

Definition at line 151 of file debug/deque.

## ◆ deque() [8/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

std::__debug::deque< _Tp, _Allocator >::deque | ( | _Base_ref | __x | ) |
| inline

Definition at line 165 of file debug/deque.

## Member Function Documentation

## ◆ _M_base() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const _Base & std::__debug::deque< _Tp, _Allocator >::_M_base | ( |  | ) | const
| inlinenoexcept

Definition at line 699 of file debug/deque.

## ◆ _M_base() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

_Base & std::__debug::deque< _Tp, _Allocator >::_M_base | ( |  | ) |
| inlinenoexcept

Definition at line 696 of file debug/deque.

## ◆ _M_swap()

template<typename _SafeContainer, typename _Alloc, template< typename > class _SafeBase, bool _IsCxx11AllocatorAware = true>

void __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >::_M_swap | ( | const _Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware > & | __x | ) | const
| inlineconstexprprotectednoexceptinherited

Definition at line 141 of file safe_container.h.

## ◆ assign() [1/3]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>

void std::__debug::deque< _Tp, _Allocator >::assign | ( | _InputIterator | __first,
|  | _InputIterator | __last )
| inline

Definition at line 191 of file debug/deque.

## ◆ assign() [2/3]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::assign | ( | initializer_list< value_type > | __l | ) |
| inline

Definition at line 213 of file debug/deque.

## ◆ assign() [3/3]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::assign | ( | size_type | __n,
|  | const _Tp & | __t )
| inline

Definition at line 205 of file debug/deque.

## ◆ back() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reference std::__debug::deque< _Tp, _Allocator >::back | ( |  | ) | const
| inlinenodiscardnoexcept

Definition at line 405 of file debug/deque.

## ◆ back() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

reference std::__debug::deque< _Tp, _Allocator >::back | ( |  | ) |
| inlinenodiscardnoexcept

Definition at line 397 of file debug/deque.

## ◆ begin() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_iterator std::__debug::deque< _Tp, _Allocator >::begin | ( |  | ) | const
| inlinenodiscardnoexcept

Definition at line 240 of file debug/deque.

## ◆ begin() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::begin | ( |  | ) |
| inlinenodiscardnoexcept

Definition at line 235 of file debug/deque.

## ◆ cbegin()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_iterator std::__debug::deque< _Tp, _Allocator >::cbegin | ( |  | ) | const
| inlinenoexcept

Definition at line 276 of file debug/deque.

## ◆ cend()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_iterator std::__debug::deque< _Tp, _Allocator >::cend | ( |  | ) | const
| inlinenoexcept

Definition at line 281 of file debug/deque.

## ◆ clear()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::clear | ( |  | ) |
| inlinenoexcept

Definition at line 689 of file debug/deque.

## ◆ crbegin()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reverse_iterator std::__debug::deque< _Tp, _Allocator >::crbegin | ( |  | ) | const
| inlinenoexcept

Definition at line 286 of file debug/deque.

## ◆ crend()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reverse_iterator std::__debug::deque< _Tp, _Allocator >::crend | ( |  | ) | const
| inlinenoexcept

Definition at line 291 of file debug/deque.

## ◆ emplace()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<typename... _Args>

iterator std::__debug::deque< _Tp, _Allocator >::emplace | ( | const_iterator | __position,
|  | _Args &&... | __args )
| inline

Definition at line 467 of file debug/deque.

## ◆ emplace_back()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<typename... _Args>

reference std::__debug::deque< _Tp, _Allocator >::emplace_back | ( | _Args &&... | __args | ) |
| inline

Definition at line 456 of file debug/deque.

## ◆ emplace_front()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<typename... _Args>

reference std::__debug::deque< _Tp, _Allocator >::emplace_front | ( | _Args &&... | __args | ) |
| inline

Definition at line 441 of file debug/deque.

## ◆ end() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_iterator std::__debug::deque< _Tp, _Allocator >::end | ( |  | ) | const
| inlinenodiscardnoexcept

Definition at line 250 of file debug/deque.

## ◆ end() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::end | ( |  | ) |
| inlinenodiscardnoexcept

Definition at line 245 of file debug/deque.

## ◆ erase() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::erase | ( | const_iterator | __first,
|  | const_iterator | __last )
| inline

Definition at line 635 of file debug/deque.

## ◆ erase() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::erase | ( | const_iterator | __position | ) |
| inline

Definition at line 609 of file debug/deque.

## ◆ front() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reference std::__debug::deque< _Tp, _Allocator >::front | ( |  | ) | const
| inlinenodiscardnoexcept

Definition at line 389 of file debug/deque.

## ◆ front() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

reference std::__debug::deque< _Tp, _Allocator >::front | ( |  | ) |
| inlinenodiscardnoexcept

Definition at line 381 of file debug/deque.

## ◆ insert() [1/5]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>

iterator std::__debug::deque< _Tp, _Allocator >::insert | ( | const_iterator | __position,
|  | _InputIterator | __first,
|  | _InputIterator | __last )
| inline

Definition at line 528 of file debug/deque.

## ◆ insert() [2/5]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::insert | ( | const_iterator | __position,
|  | _Tp && | __x )
| inline

Definition at line 492 of file debug/deque.

## ◆ insert() [3/5]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::insert | ( | const_iterator | __position,
|  | const _Tp & | __x )
| inline

Definition at line 479 of file debug/deque.

## ◆ insert() [4/5]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::insert | ( | const_iterator | __position,
|  | initializer_list< value_type > | __l )
| inline

Definition at line 496 of file debug/deque.

## ◆ insert() [5/5]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

iterator std::__debug::deque< _Tp, _Allocator >::insert | ( | const_iterator | __position,
|  | size_type | __n,
|  | const _Tp & | __x )
| inline

Definition at line 507 of file debug/deque.

## ◆ operator=()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

deque & std::__debug::deque< _Tp, _Allocator >::operator= | ( | initializer_list< value_type > | __l | ) |
| inline

Definition at line 176 of file debug/deque.

## ◆ operator[]() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reference std::__debug::deque< _Tp, _Allocator >::operator[] | ( | size_type | __n | ) | const
| inlinenodiscardnoexcept

Definition at line 371 of file debug/deque.

## ◆ operator[]() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

reference std::__debug::deque< _Tp, _Allocator >::operator[] | ( | size_type | __n | ) |
| inlinenodiscardnoexcept

Definition at line 363 of file debug/deque.

## ◆ pop_back()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::pop_back | ( |  | ) |
| inlinenoexcept

Definition at line 600 of file debug/deque.

## ◆ pop_front()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::pop_front | ( |  | ) |
| inlinenoexcept

Definition at line 592 of file debug/deque.

## ◆ push_back() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::push_back | ( | _Tp && | __x | ) |
| inline

Definition at line 432 of file debug/deque.

## ◆ push_back() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::push_back | ( | const _Tp & | __x | ) |
| inline

Definition at line 420 of file debug/deque.

## ◆ push_front() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::push_front | ( | _Tp && | __x | ) |
| inline

Definition at line 428 of file debug/deque.

## ◆ push_front() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::push_front | ( | const _Tp & | __x | ) |
| inline

Definition at line 413 of file debug/deque.

## ◆ rbegin() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reverse_iterator std::__debug::deque< _Tp, _Allocator >::rbegin | ( |  | ) | const
| inlinenodiscardnoexcept

Definition at line 260 of file debug/deque.

## ◆ rbegin() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

reverse_iterator std::__debug::deque< _Tp, _Allocator >::rbegin | ( |  | ) |
| inlinenodiscardnoexcept

Definition at line 255 of file debug/deque.

## ◆ rend() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

const_reverse_iterator std::__debug::deque< _Tp, _Allocator >::rend | ( |  | ) | const
| inlinenodiscardnoexcept

Definition at line 270 of file debug/deque.

## ◆ rend() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

reverse_iterator std::__debug::deque< _Tp, _Allocator >::rend | ( |  | ) |
| inlinenodiscardnoexcept

Definition at line 265 of file debug/deque.

## ◆ resize() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::resize | ( | size_type | __sz | ) |
| inline

Definition at line 310 of file debug/deque.

## ◆ resize() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::resize | ( | size_type | __sz,
|  | const _Tp & | __c )
| inline

Definition at line 323 of file debug/deque.

## ◆ shrink_to_fit()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::shrink_to_fit | ( |  | ) |
| inlinenoexcept

Definition at line 351 of file debug/deque.

## ◆ swap()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>

void std::__debug::deque< _Tp, _Allocator >::swap | ( | deque< _Tp, _Allocator > & | __x | ) |
| inlinenoexcept

Definition at line 681 of file debug/deque.

## Friends And Related Symbol Documentation

## ◆ ::__gnu_debug::_Safe_iterator

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<typename _ItT, typename _SeqT, typename _CatT>

friend class ::__gnu_debug::_Safe_iterator
| friend

Definition at line 67 of file debug/deque.

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

- debug/deque