libstdc++
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, vectorconst_iterator
 
typedef _Base::const_pointer const_pointer
 
typedef _Base::const_reference const_reference
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef _Base::difference_type difference_type
 
typedef __gnu_debug::_Safe_iterator< _Base_iterator, vectoriterator
 
typedef _Base::pointer pointer
 
typedef _Base::reference reference
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef _Base::size_type size_type
 
typedef _Tp value_type
 

Public Member Functions

constexpr vector (_Base_ref __x)
 
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
constexpr vector (_InputIterator __first, _InputIterator __last, const _Allocator &__a=_Allocator())
 
constexpr vector (const _Allocator &__a) noexcept
 
 vector (const vector &)=default
 
constexpr vector (const vector &__x, const __type_identity_t< allocator_type > &__a)
 
constexpr vector (initializer_list< value_type > __l, const allocator_type &__a=allocator_type())
 
constexpr vector (size_type __n, const __type_identity_t< _Tp > &__value, const _Allocator &__a=_Allocator())
 
constexpr vector (size_type __n, const _Allocator &__a=_Allocator())
 
 vector (vector &&)=default
 
constexpr vector (vector &&__x, const __type_identity_t< allocator_type > &__a) noexcept(std::is_nothrow_constructible< _Base, _Base, const allocator_type & >::value)
 
constexpr const _Base_M_base () const noexcept
 
constexpr _Base_M_base () noexcept
 
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
constexpr void assign (_InputIterator __first, _InputIterator __last)
 
constexpr void assign (initializer_list< value_type > __l)
 
constexpr void assign (size_type __n, const _Tp &__u)
 
constexpr const_reference back () const noexcept
 
constexpr reference back () noexcept
 
constexpr const_iterator begin () const noexcept
 
constexpr iterator begin () noexcept
 
constexpr size_type capacity () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr void clear () noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
template<typename... _Args>
constexpr iterator emplace (const_iterator __position, _Args &&... __args)
 
template<typename... _Args>
constexpr reference emplace_back (_Args &&... __args)
 
constexpr const_iterator end () const noexcept
 
constexpr iterator end () noexcept
 
constexpr iterator erase (const_iterator __first, const_iterator __last)
 
constexpr iterator erase (const_iterator __position)
 
constexpr const_reference front () const noexcept
 
constexpr reference front () noexcept
 
template<class _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
constexpr iterator insert (const_iterator __position, _InputIterator __first, _InputIterator __last)
 
template<typename _Up = _Tp>
constexpr __gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, iterator >::__type insert (const_iterator __position, _Tp &&__x)
 
constexpr iterator insert (const_iterator __position, const _Tp &__x)
 
constexpr iterator insert (const_iterator __position, initializer_list< value_type > __l)
 
constexpr iterator insert (const_iterator __position, size_type __n, const _Tp &__x)
 
vectoroperator= (const vector &)=default
 
constexpr vectoroperator= (initializer_list< value_type > __l)
 
vectoroperator= (vector &&)=default
 
constexpr const_reference operator[] (size_type __n) const noexcept
 
constexpr reference operator[] (size_type __n) noexcept
 
constexpr void pop_back () noexcept
 
template<typename _Up = _Tp>
constexpr __gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, void >::__type push_back (_Tp &&__x)
 
constexpr void push_back (const _Tp &__x)
 
constexpr const_reverse_iterator rbegin () const noexcept
 
constexpr reverse_iterator rbegin () noexcept
 
constexpr const_reverse_iterator rend () const noexcept
 
constexpr reverse_iterator rend () noexcept
 
constexpr void reserve (size_type __n)
 
constexpr void resize (size_type __sz)
 
constexpr void resize (size_type __sz, const _Tp &__c)
 
constexpr void shrink_to_fit ()
 
constexpr void swap (vector &__x) noexcept(/*conditional */)
 

Protected Member Functions

bool _M_requires_reallocation (size_type __elements) const noexcept
 
constexpr void _M_swap (const _Safe_container &__x) const noexcept
 
constexpr 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 127 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 170 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 164 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 172 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 159 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 174 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 167 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 162 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 171 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 158 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 173 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 166 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 169 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)
inlineexplicitconstexprnoexcept

Definition at line 187 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() )
inlineexplicitconstexpr

Definition at line 193 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 __type_identity_t< _Tp > & __value,
const _Allocator & __a = _Allocator() )
inlineconstexpr

Definition at line 197 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() )
inlineconstexpr

Definition at line 214 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 __type_identity_t< allocator_type > & __a )
inlineconstexpr

Definition at line 230 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 __type_identity_t< allocator_type > & __a )
inlineconstexprnoexcept

Definition at line 234 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() )
inlineconstexpr

Definition at line 243 of file debug/vector.

◆ vector() [8/8]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
std::__debug::vector< _Tp, _Allocator >::vector ( _Base_ref __x)
inlineconstexpr

Construction from a normal-mode vector.

Definition at line 265 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
inlineconstexprnoexcept

Definition at line 872 of file debug/vector.

◆ _M_base() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
_Base & std::__debug::vector< _Tp, _Allocator >::_M_base ( )
inlineconstexprnoexcept

Definition at line 868 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
inlineprotectednoexceptinherited

Definition at line 107 of file debug/vector.

◆ _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 136 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 ( )
inlineconstexprprotectednoexceptinherited

Definition at line 112 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 )
inlineconstexpr

Definition at line 297 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)
inlineconstexpr

Definition at line 331 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 )
inlineconstexpr

Definition at line 318 of file debug/vector.

◆ back() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_reference std::__debug::vector< _Tp, _Allocator >::back ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 568 of file debug/vector.

◆ back() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
reference std::__debug::vector< _Tp, _Allocator >::back ( )
inlinenodiscardconstexprnoexcept

Definition at line 559 of file debug/vector.

◆ begin() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_iterator std::__debug::vector< _Tp, _Allocator >::begin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 354 of file debug/vector.

◆ begin() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
iterator std::__debug::vector< _Tp, _Allocator >::begin ( )
inlinenodiscardconstexprnoexcept

Definition at line 348 of file debug/vector.

◆ capacity()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
size_type std::__debug::vector< _Tp, _Allocator >::capacity ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 488 of file debug/vector.

◆ cbegin()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_iterator std::__debug::vector< _Tp, _Allocator >::cbegin ( ) const
inlineconstexprnoexcept

Definition at line 397 of file debug/vector.

◆ cend()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_iterator std::__debug::vector< _Tp, _Allocator >::cend ( ) const
inlineconstexprnoexcept

Definition at line 403 of file debug/vector.

◆ clear()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
void std::__debug::vector< _Tp, _Allocator >::clear ( )
inlineconstexprnoexcept

Definition at line 859 of file debug/vector.

◆ crbegin()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_reverse_iterator std::__debug::vector< _Tp, _Allocator >::crbegin ( ) const
inlineconstexprnoexcept

Definition at line 409 of file debug/vector.

◆ crend()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_reverse_iterator std::__debug::vector< _Tp, _Allocator >::crend ( ) const
inlineconstexprnoexcept

Definition at line 415 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 )
inlineconstexpr

Definition at line 640 of file debug/vector.

◆ emplace_back()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
template<typename... _Args>
reference std::__debug::vector< _Tp, _Allocator >::emplace_back ( _Args &&... __args)
inlineconstexpr

Definition at line 608 of file debug/vector.

◆ end() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_iterator std::__debug::vector< _Tp, _Allocator >::end ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 366 of file debug/vector.

◆ end() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
iterator std::__debug::vector< _Tp, _Allocator >::end ( )
inlinenodiscardconstexprnoexcept

Definition at line 360 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 )
inlineconstexpr

Definition at line 818 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)
inlineconstexpr

Definition at line 800 of file debug/vector.

◆ front() [1/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
const_reference std::__debug::vector< _Tp, _Allocator >::front ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 550 of file debug/vector.

◆ front() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
reference std::__debug::vector< _Tp, _Allocator >::front ( )
inlinenodiscardconstexprnoexcept

Definition at line 541 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 )
inlineconstexpr

Definition at line 738 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 )
inlineconstexpr

Definition at line 689 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 )
inlineconstexpr

Definition at line 664 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 )
inlineconstexpr

Definition at line 694 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 )
inlineconstexpr

Definition at line 701 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)
inlineconstexpr

Definition at line 277 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
inlinenodiscardconstexprnoexcept

Definition at line 530 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)
inlinenodiscardconstexprnoexcept

Definition at line 521 of file debug/vector.

◆ pop_back()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
void std::__debug::vector< _Tp, _Allocator >::pop_back ( )
inlineconstexprnoexcept

Definition at line 626 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)
inlineconstexpr

Definition at line 598 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)
inlineconstexpr

Definition at line 581 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
inlinenodiscardconstexprnoexcept

Definition at line 378 of file debug/vector.

◆ rbegin() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
reverse_iterator std::__debug::vector< _Tp, _Allocator >::rbegin ( )
inlinenodiscardconstexprnoexcept

Definition at line 372 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
inlinenodiscardconstexprnoexcept

Definition at line 390 of file debug/vector.

◆ rend() [2/2]

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
reverse_iterator std::__debug::vector< _Tp, _Allocator >::rend ( )
inlinenodiscardconstexprnoexcept

Definition at line 384 of file debug/vector.

◆ reserve()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
void std::__debug::vector< _Tp, _Allocator >::reserve ( size_type __n)
inlineconstexpr

Definition at line 504 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)
inlineconstexpr

Definition at line 426 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 )
inlineconstexpr

Definition at line 442 of file debug/vector.

◆ shrink_to_fit()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
void std::__debug::vector< _Tp, _Allocator >::shrink_to_fit ( )
inlineconstexpr

Definition at line 472 of file debug/vector.

◆ swap()

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
void std::__debug::vector< _Tp, _Allocator >::swap ( vector< _Tp, _Allocator > & __x)
inlineconstexprnoexcept

Definition at line 848 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 145 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
protectedinherited

Definition at line 104 of file debug/vector.


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