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 (_Safe_container &__x) 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 | ) |

inline explicit

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() )

inline explicit

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

inline noexcept

Definition at line 698 of file debug/deque.

## _M_base() [2/2]

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

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

inline noexcept

Definition at line 695 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 | ( | _Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware > & | __x | ) |

inline constexpr protected noexcept inherited

Definition at line 131 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

inline nodiscard noexcept

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 | ( |  | ) |

inline nodiscard noexcept

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

inline nodiscard noexcept

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 | ( |  | ) |

inline nodiscard noexcept

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

inline noexcept

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

inline noexcept

Definition at line 281 of file debug/deque.

## clear()

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

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

inline noexcept

Definition at line 688 of file debug/deque.

## crbegin()

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

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

inline noexcept

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

inline noexcept

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

inline nodiscard noexcept

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 | ( |  | ) |

inline nodiscard noexcept

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

inline nodiscard noexcept

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 | ( |  | ) |

inline nodiscard noexcept

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

inline nodiscard noexcept

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 | ) |

inline nodiscard noexcept

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 | ( |  | ) |

inline noexcept

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 | ( |  | ) |

inline noexcept

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

inline nodiscard noexcept

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 | ( |  | ) |

inline nodiscard noexcept

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

inline nodiscard noexcept

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 | ( |  | ) |

inline nodiscard noexcept

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 | ( |  | ) |

inline noexcept

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 | ) |

inline noexcept

Definition at line 680 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