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

`#include <vector>`

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

## Public Types

typedef _Allocator | allocator_type
typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, vector > | 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, vector > | 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

template<class _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
| vector (_InputIterator __first, _InputIterator __last, const _Allocator &__a=_Allocator())
| vector (const _Allocator &__a) noexcept
| vector (const _Base &__x)
| vector (const vector &)=default
| vector (const vector &__x, const allocator_type &__a)
| vector (initializer_list< value_type > __l, const allocator_type &__a=allocator_type())
| vector (size_type __n, const _Allocator &__a=_Allocator())
| vector (size_type __n, const _Tp &__value, const _Allocator &__a=_Allocator())
| vector (vector &&)=default
| vector (vector &&__x, const allocator_type &__a) noexcept(noexcept(_Base(std::declval< _Base && >()), std::declval< const allocator_type & >()))
const _Base & | _M_base () const noexcept
_Base & | _M_base () noexcept
void | _M_swap (_Safe_container &__x) noexcept
template<typename _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 &__u)
const_reference | back () const noexcept
reference | back () noexcept
const_iterator | begin () const noexcept
iterator | begin () noexcept
size_type | capacity () const 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>
void | emplace_back (_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)
template<typename _Up = _Tp>
__gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, iterator >::__type | 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)
vector & | operator= (const vector &)=default
vector & | operator= (initializer_list< value_type > __l)
vector & | operator= (vector &&)=default
const_reference | operator[] (size_type __n) const noexcept
reference | operator[] (size_type __n) noexcept
void | pop_back () noexcept
template<typename _Up = _Tp>
__gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, void >::__type | push_back (_Tp &&__x)
void | push_back (const _Tp &__x)
const_reverse_iterator | rbegin () const noexcept
reverse_iterator | rbegin () noexcept
const_reverse_iterator | rend () const noexcept
reverse_iterator | rend () noexcept
void | reserve (size_type __n)
void | resize (size_type __sz)
void | resize (size_type __sz, const _Tp &__c)
void | shrink_to_fit ()
void | swap (vector &__x) noexcept(/*conditional */)

## Protected Member Functions

bool | _M_requires_reallocation (size_type __elements) const noexcept
_Safe_container & | _M_safe () noexcept
void | _M_update_guaranteed_capacity () noexcept

## Protected Attributes

size_type | _M_guaranteed_capacity

## 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::vector< _Tp, _Allocator >

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

Definition at line 118 of file debug/vector.

## Member Typedef Documentation

## allocator_type

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

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

Definition at line 151 of file debug/vector.

## const_iterator

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

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

Definition at line 145 of file debug/vector.

## const_pointer

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

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

Definition at line 153 of file debug/vector.

## const_reference

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

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

Definition at line 140 of file debug/vector.

## const_reverse_iterator

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

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

Definition at line 155 of file debug/vector.

## difference_type

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

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

Definition at line 148 of file debug/vector.

## iterator

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

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

Definition at line 143 of file debug/vector.

## pointer

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

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

Definition at line 152 of file debug/vector.

## reference

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

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

Definition at line 139 of file debug/vector.

## reverse_iterator

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

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

Definition at line 154 of file debug/vector.

## size_type

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

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

Definition at line 147 of file debug/vector.

## value_type

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

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

Definition at line 150 of file debug/vector.

## Constructor & Destructor Documentation

## vector() [1/8]

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

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

inline explicit noexcept

Definition at line 167 of file debug/vector.

## vector() [2/8]

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

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

inline explicit

Definition at line 172 of file debug/vector.

## vector() [3/8]

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

std::__debug::vector< _Tp, _Allocator >::vector | ( | size_type | __n,
|  | const _Tp & | __value,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 175 of file debug/vector.

## vector() [4/8]

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

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

inline

Definition at line 191 of file debug/vector.

## vector() [5/8]

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

std::__debug::vector< _Tp, _Allocator >::vector | ( | const vector< _Tp, _Allocator > & | __x,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 206 of file debug/vector.

## vector() [6/8]

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

std::__debug::vector< _Tp, _Allocator >::vector | ( | vector< _Tp, _Allocator > && | __x,
|  | const allocator_type & | __a
| ) |  |

inline noexcept

Definition at line 209 of file debug/vector.

## vector() [7/8]

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

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

inline

Definition at line 216 of file debug/vector.

## vector() [8/8]

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

std::__debug::vector< _Tp, _Allocator >::vector | ( | const _Base & | __x | ) |

inline

Construction from a normal-mode vector.

Definition at line 224 of file debug/vector.

## Member Function Documentation

## _M_base() [1/2]

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

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

inline noexcept

Definition at line 717 of file debug/vector.

## _M_base() [2/2]

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

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

inline noexcept

Definition at line 714 of file debug/vector.

## _M_requires_reallocation()

template<typename _SafeSequence , typename _BaseSequence >

bool __gnu_debug::_Safe_vector< _SafeSequence, _BaseSequence >::_M_requires_reallocation | ( | size_type | __elements | ) | const

inline protected noexcept inherited

Definition at line 99 of file debug/vector.

## _M_safe()

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

_Safe_container & __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >::_M_safe | ( |  | ) |

inline protected noexcept inherited

Definition at line 52 of file safe_container.h.

## _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 noexcept inherited

Definition at line 104 of file safe_container.h.

## _M_update_guaranteed_capacity()

template<typename _SafeSequence , typename _BaseSequence >

void __gnu_debug::_Safe_vector< _SafeSequence, _BaseSequence >::_M_update_guaranteed_capacity | ( |  | ) |

inline protected noexcept inherited

Definition at line 103 of file debug/vector.

## assign() [1/3]

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

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

inline

Definition at line 260 of file debug/vector.

## assign() [2/3]

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

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

inline

Definition at line 285 of file debug/vector.

## assign() [3/3]

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

void std::__debug::vector< _Tp, _Allocator >::assign | ( | size_type | __n,
|  | const _Tp & | __u
| ) |  |

inline

Definition at line 276 of file debug/vector.

## back() [1/2]

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

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

inline noexcept

Definition at line 462 of file debug/vector.

## back() [2/2]

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

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

inline noexcept

Definition at line 455 of file debug/vector.

## begin() [1/2]

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

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

inline noexcept

Definition at line 301 of file debug/vector.

## begin() [2/2]

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

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

inline noexcept

Definition at line 297 of file debug/vector.

## capacity()

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

size_type std::__debug::vector< _Tp, _Allocator >::capacity | ( |  | ) | const

inline noexcept

Definition at line 401 of file debug/vector.

## cbegin()

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

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

inline noexcept

Definition at line 330 of file debug/vector.

## cend()

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

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

inline noexcept

Definition at line 334 of file debug/vector.

## clear()

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

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

inline noexcept

Definition at line 707 of file debug/vector.

## crbegin()

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

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

inline noexcept

Definition at line 338 of file debug/vector.

## crend()

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

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

inline noexcept

Definition at line 342 of file debug/vector.

## emplace()

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

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

inline

Definition at line 520 of file debug/vector.

## emplace_back()

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

void std::__debug::vector< _Tp, _Allocator >::emplace_back | ( | _Args &&... | __args | ) |

inline

Definition at line 496 of file debug/vector.

## end() [1/2]

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

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

inline noexcept

Definition at line 309 of file debug/vector.

## end() [2/2]

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

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

inline noexcept

Definition at line 305 of file debug/vector.

## erase() [1/2]

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

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

inline

Definition at line 672 of file debug/vector.

## erase() [2/2]

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

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

inline

Definition at line 658 of file debug/vector.

## front() [1/2]

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

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

inline noexcept

Definition at line 448 of file debug/vector.

## front() [2/2]

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

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

inline noexcept

Definition at line 441 of file debug/vector.

## insert() [1/5]

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

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

inline

Definition at line 602 of file debug/vector.

## insert() [2/5]

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

__gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, iterator >::__type std::__debug::vector< _Tp, _Allocator >::insert | ( | const_iterator | __position,
|  | _Tp && | __x
| ) |  |

inline

Definition at line 559 of file debug/vector.

## insert() [3/5]

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

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

inline

Definition at line 538 of file debug/vector.

## insert() [4/5]

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

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

inline

Definition at line 563 of file debug/vector.

## insert() [5/5]

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

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

inline

Definition at line 569 of file debug/vector.

## operator=()

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

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

inline

Definition at line 244 of file debug/vector.

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

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

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

inline noexcept

Definition at line 432 of file debug/vector.

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

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

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

inline noexcept

Definition at line 425 of file debug/vector.

## pop_back()

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

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

inline noexcept

Definition at line 510 of file debug/vector.

## push_back() [1/2]

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

__gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, void >::__type std::__debug::vector< _Tp, _Allocator >::push_back | ( | _Tp && | __x | ) |

inline

Definition at line 487 of file debug/vector.

## push_back() [2/2]

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

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

inline

Definition at line 474 of file debug/vector.

## rbegin() [1/2]

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

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

inline noexcept

Definition at line 317 of file debug/vector.

## rbegin() [2/2]

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

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

inline noexcept

Definition at line 313 of file debug/vector.

## rend() [1/2]

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

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

inline noexcept

Definition at line 325 of file debug/vector.

## rend() [2/2]

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

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

inline noexcept

Definition at line 321 of file debug/vector.

## reserve()

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

void std::__debug::vector< _Tp, _Allocator >::reserve | ( | size_type | __n | ) |

inline

Definition at line 413 of file debug/vector.

## resize() [1/2]

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

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

inline

Definition at line 352 of file debug/vector.

## resize() [2/2]

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

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

inline

Definition at line 364 of file debug/vector.

## shrink_to_fit()

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

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

inline

Definition at line 390 of file debug/vector.

## swap()

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

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

inline noexcept

Definition at line 698 of file debug/vector.

## 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 136 of file debug/vector.

## Member Data Documentation

## _M_guaranteed_capacity

template<typename _SafeSequence , typename _BaseSequence >

size_type __gnu_debug::_Safe_vector< _SafeSequence, _BaseSequence >::_M_guaranteed_capacity

protected inherited

Definition at line 96 of file debug/vector.

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

- debug/vector