std___debug_vector.3cxx

Langue: en

Version: 348212 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

std::__debug::vector -

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

SYNOPSIS


Inherits _GLIBCXX_STD_PR::vector< _Tp, _Allocator >, and _Safe_sequence< vector< _Tp, _Allocator > >.

Public Types


typedef _Allocator allocator_type

typedef __gnu_debug::_Safe_iterator< typename _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< typename _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


vector (const _Allocator &__a=_Allocator())

vector (size_type __n, const _Tp &__value=_Tp(), const _Allocator &__a=_Allocator())

vector (const vector &__x)

vector (const _Base &__x)

template<class _InputIterator > vector (_InputIterator __first, _InputIterator __last, const _Allocator &__a=_Allocator())

vector (vector &&__x)

vector (initializer_list< value_type > __l, const allocator_type &__a=allocator_type())

_Base & _M_base ()

const _Base & _M_base () const

void _M_invalidate_all () const

void _M_invalidate_if (_Predicate __pred)

void _M_transfer_iter (const _Safe_iterator< _Iterator, vector< _Tp, _Allocator > > &__x)

void assign (size_type __n, const _Tp &__u)

template<typename _InputIterator > void assign (_InputIterator __first, _InputIterator __last)

void assign (initializer_list< value_type > __l)

reference back ()

const_reference back () const

const_iterator begin () const

iterator begin ()

size_type capacity () const

const_iterator cbegin () const

const_iterator cend () const

void clear ()

const_reverse_iterator crbegin () const

const_reverse_iterator crend () const

template<typename... _Args> iterator emplace (iterator __position, _Args &&...__args)

template<typename... _Args> void emplace_back (_Args &&...__args)

iterator end ()

const_iterator end () const

iterator erase (iterator __position)

iterator erase (iterator __first, iterator __last)

reference front ()

const_reference front () const

iterator insert (iterator __position, const _Tp &__x)

template<typename _Up = _Tp> __gnu_cxx::__enable_if<!std::__are_same< _Up, bool >::__value, iterator >::__type insert (iterator __position, _Tp &&__x)

void insert (iterator __position, size_type __n, const _Tp &__x)

void insert (iterator __position, initializer_list< value_type > __l)

template<class _InputIterator > void insert (iterator __position, _InputIterator __first, _InputIterator __last)

vector & operator= (const vector &__x)

vector & operator= (initializer_list< value_type > __l)

vector & operator= (vector &&__x)

const_reference operator[] (size_type __n) const

reference operator[] (size_type __n)

void pop_back ()

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)

reverse_iterator rbegin ()

const_reverse_iterator rbegin () const

reverse_iterator rend ()

const_reverse_iterator rend () const

void reserve (size_type __n)

void resize (size_type __sz, _Tp __c=_Tp())

void swap (vector &__x)

Public Attributes


_Safe_iterator_base * _M_const_iterators

_Safe_iterator_base * _M_iterators

unsigned int _M_version

Protected Member Functions


void _M_detach_all ()

void _M_detach_singular ()

__gnu_cxx::__mutex & _M_get_mutex () throw ()

void _M_revalidate_singular ()

void _M_swap (_Safe_sequence_base &__x)

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

Constructor & Destructor Documentation

template<typename _Tp, typename _Allocator = std::allocator<_Tp>> std::__debug::vector< _Tp, _Allocator >::vector (const _Base & __x) [inline]

Construction from a release-mode vector.

Definition at line 94 of file debug/vector.

Member Function Documentation

void __gnu_debug::_Safe_sequence_base::_M_detach_all () [protected, inherited]Detach all iterators, leaving them singular.

void __gnu_debug::_Safe_sequence_base::_M_detach_singular () [protected, inherited]Detach all singular iterators.

Postcondition:

for all iterators i attached to this sequence, i->_M_version == _M_version.

__gnu_cxx::__mutex& __gnu_debug::_Safe_sequence_base::_M_get_mutex () throw () [protected, inherited]For use in _Safe_sequence.

Referenced by __gnu_debug::_Safe_sequence< _Sequence >::_M_invalidate_if(), and __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_iter().

void __gnu_debug::_Safe_sequence_base::_M_invalidate_all () const [inline, inherited]Invalidates all iterators.

Definition at line 215 of file safe_base.h.

void __gnu_debug::_Safe_sequence< vector< _Tp, _Allocator > >::_M_invalidate_if (_Predicate __pred) [inherited]Invalidates all iterators x that reference this sequence, are not singular, and for which pred(x) returns true. The user of this routine should be careful not to make copies of the iterators passed to pred, as the copies may interfere with the invalidation.

void __gnu_debug::_Safe_sequence_base::_M_revalidate_singular () [protected, inherited]Revalidates all attached singular iterators. This method may be used to validate iterators that were invalidated before (but for some reason, such as an exception, need to become valid again).

void __gnu_debug::_Safe_sequence_base::_M_swap (_Safe_sequence_base & __x) [protected, inherited]Swap this sequence with the given sequence. This operation also swaps ownership of the iterators, so that when the operation is complete all iterators that originally referenced one container now reference the other container.

void __gnu_debug::_Safe_sequence< vector< _Tp, _Allocator > >::_M_transfer_iter (const _Safe_iterator< _Iterator, vector< _Tp, _Allocator > > & __x) [inherited]Transfers all iterators that reference this memory location to this sequence from whatever sequence they are attached to.

Member Data Documentation

_Safe_iterator_base* __gnu_debug::_Safe_sequence_base::_M_const_iterators [inherited]

The list of constant iterators that reference this container.

Definition at line 166 of file safe_base.h.

Referenced by __gnu_debug::_Safe_sequence< _Sequence >::_M_invalidate_if(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_invalidate_single(), and __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_iter().

_Safe_iterator_base* __gnu_debug::_Safe_sequence_base::_M_iterators [inherited]

The list of mutable iterators that reference this container.

Definition at line 163 of file safe_base.h.

Referenced by __gnu_debug::_Safe_sequence< _Sequence >::_M_invalidate_if(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_invalidate_single(), and __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_iter().

unsigned int __gnu_debug::_Safe_sequence_base::_M_version [mutable, inherited]

The container version number. This number may never be 0.

Definition at line 169 of file safe_base.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.