ReactOS 0.4.15-dev-7788-g1ad9096
vector< _Tp, > Class Template Reference

#include <dbghelp_private.h>

Inheritance diagram for vector< _Tp, >:
Collaboration diagram for vector< _Tp, >:

Public Types

typedef _Base::allocator_type allocator_type
 
typedef _Tp value_type
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typeiterator
 
typedef const value_typeconst_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef random_access_iterator_tag _Iterator_category
 
typedef _STLP_PRIV _DBG_iter< _Base, _STLP_PRIV _DbgTraits< _STLP_PRIV _Vector_nonconst_traits< value_type, typename _Base::iterator > > > iterator
 
typedef _STLP_PRIV _DBG_iter< _Base, _STLP_PRIV _DbgTraits< _STLP_PRIV _Vector_const_traits< value_type, typename _Base::iterator > > > const_iterator
 
typedef _Tp value_type
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typeiterator
 
typedef const value_typeconst_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef random_access_iterator_tag _Iterator_category
 
typedef _Alloc_traits< value_type, _Alloc >::allocator_type allocator_type
 

Public Member Functions

allocator_type get_allocator () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
size_type capacity () const
 
bool empty () const
 
reference operator[] (size_type __n)
 
const_reference operator[] (size_type __n) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
reference at (size_type __n)
 
const_reference at (size_type __n) const
 
_Tp * data ()
 
const _Tp * data () const
 
 vector (const allocator_type &__a=allocator_type())
 
 vector (size_type __n)
 
 vector (size_type __n, const _Tp &__val, const allocator_type &__a=allocator_type())
 
 vector (const _Self &__x)
 
 vector (__move_source< _Self > src)
 
 vector (const _Tp *__first, const _Tp *__last, const allocator_type &__a=allocator_type())
 
 ~vector ()
 
_Selfoperator= (const _Self &__x)
 
void reserve (size_type __n)
 
void assign (size_type __n, const _Tp &__val)
 
void _M_fill_assign (size_type __n, const _Tp &__val)
 
void assign (const_iterator __first, const_iterator __last)
 
void push_back (const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
 
iterator insert (iterator __pos, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
 
void swap (_Self &__x)
 
void insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void insert (iterator __pos, size_type __n, const _Tp &__x)
 
void pop_back ()
 
iterator erase (iterator __pos)
 
iterator erase (iterator __first, iterator __last)
 
void resize (size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
 
void clear ()
 
allocator_type get_allocator () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
size_type capacity () const
 
bool empty () const
 
reference operator[] (size_type __n)
 
const_reference operator[] (size_type __n) const
 
reference at (size_type __n)
 
const_reference at (size_type __n) const
 
 vector (const allocator_type &__a=allocator_type())
 
 vector (size_type __n, const _Tp &__x=_Tp(), const allocator_type &__a=allocator_type())
 
 vector (const _Self &__x)
 
 vector (__move_source< _Self > src)
 
 vector (const _Tp *__first, const _Tp *__last, const allocator_type &__a=allocator_type())
 
 vector (const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
 
_Selfoperator= (const _Self &__x)
 
void reserve (size_type __n)
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void swap (_Self &__x)
 
iterator insert (iterator __pos, const _Tp &__x=_Tp())
 
void insert (iterator __pos, const value_type *__first, const value_type *__last)
 
void insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void insert (iterator __pos, iterator __first, iterator __last)
 
void insert (iterator __pos, size_type __n, const _Tp &__x)
 
void pop_back ()
 
iterator erase (iterator __pos)
 
iterator erase (iterator __first, iterator __last)
 
void resize (size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
 
void assign (const value_type *__first, const value_type *__last)
 
void assign (const_iterator __first, const_iterator __last)
 
void assign (size_type __n, const _Tp &__val)
 
void clear ()
 
void push_back (const _Tp &__x)
 
allocator_type get_allocator () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
size_type capacity () const
 
bool empty () const
 
reference operator[] (size_type __n)
 
const_reference operator[] (size_type __n) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
reference at (size_type __n)
 
const_reference at (size_type __n) const
 
 vector (const allocator_type &__a=allocator_type())
 
 vector (size_type __n, const value_type &__val=_STLP_DEFAULT_CONSTRUCTED(value_type), const allocator_type &__a=allocator_type())
 
 vector (const _Self &__x)
 
 vector (__move_source< _Self > src)
 
 vector (const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
 
_Selfoperator= (const _Self &__x)
 
void reserve (size_type __n)
 
void assign (size_type __n, const value_type &__val)
 
void assign (const_iterator __first, const_iterator __last)
 
void push_back (const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
 
iterator insert (iterator __pos, const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
 
void swap (_Self &__x)
 
void insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void insert (iterator __pos, size_type __n, const value_type &__x)
 
void pop_back ()
 
iterator erase (iterator __pos)
 
iterator erase (iterator __first, iterator __last)
 
void resize (size_type __new_size, const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
 
void clear ()
 

Public Attributes

void ** buckets
 
unsigned elt_size
 
unsigned shift
 
unsigned num_elts
 
unsigned num_buckets
 
unsigned buckets_allocated
 
 _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
 

Private Types

typedef _STLP_PRIV _Vector_base< _Tp, _Alloc_Base
 
typedef vector< _Tp, _Alloc_Self
 
typedef _STLP_NON_DBG_VECTOR _Base
 
typedef vector< _Tp, _Alloc_Self
 
typedef _STLP_PRIV __construct_checker< _STLP_NON_DBG_VECTOR_ConstructCheck
 
typedef _STLP_TYPENAME _STLP_PRIV _StorageType< _Tp >::_QualifiedType _StorageType
 
typedef _Alloc_traits< _StorageType, _Alloc >::allocator_type _StorageTypeAlloc
 
typedef _STLP_PRIV VECTOR_IMPL< _StorageType, _StorageTypeAlloc_Base
 
typedef vector< _Tp, _Alloc_Self
 
typedef _STLP_PRIV _CastTraits< _StorageType, _Tp > cast_traits
 

Private Member Functions

void _M_insert_overflow_aux (pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend)
 
void _M_insert_overflow_aux (pointer __pos, const _Tp &__x, const __true_type &, size_type __fill_len, bool __atend)
 
void _M_insert_overflow (pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend=false)
 
void _M_insert_overflow (pointer __pos, const _Tp &__x, const __true_type &, size_type __fill_len, bool __atend=false)
 
void _M_range_check (size_type __n) const
 
size_type _M_compute_next_size (size_type __n)
 
void _M_initialize (size_type __n, const _Tp &__val=_STLP_DEFAULT_CONSTRUCTED(_Tp))
 
void _M_fill_insert_aux (iterator __pos, size_type __n, const _Tp &__x, const __true_type &)
 
void _M_fill_insert_aux (iterator __pos, size_type __n, const _Tp &__x, const __false_type &)
 
void _M_fill_insert (iterator __pos, size_type __n, const _Tp &__x)
 
bool _M_is_inside (const value_type &__x) const
 
void _M_range_insert_realloc (iterator __pos, const_iterator __first, const_iterator __last, size_type __n)
 
void _M_range_insert_aux (iterator __pos, const_iterator __first, const_iterator __last, size_type __n, const __true_type &)
 
void _M_range_insert_aux (iterator __pos, const_iterator __first, const_iterator __last, size_type __n, const __false_type &)
 
iterator _M_erase (iterator __pos, const __true_type &)
 
iterator _M_erase (iterator __pos, const __false_type &)
 
iterator _M_erase (iterator __first, iterator __last, const __true_type &)
 
iterator _M_erase (iterator __first, iterator __last, const __false_type &)
 
void _M_clear ()
 
void _M_clear_after_move ()
 
void _M_set (pointer __s, pointer __f, pointer __e)
 
pointer _M_allocate_and_copy (size_type &__n, const_pointer __first, const_pointer __last)
 
void _Invalidate_all ()
 
void _Invalidate_iterator (const iterator &__it)
 
void _Invalidate_iterators (const iterator &__first, const iterator &__last)
 
void _Check_Overflow (size_type __nb)
 
void _Compare_Capacity (size_type __old_capacity)
 
void _M_assign (const value_type *__first, const value_type *__last)
 

Private Attributes

_Base _M_non_dbg_impl
 
_STLP_PRIV __owned_list _M_iter_list
 
_Base _M_impl
 

Detailed Description

template<class _Tp, _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >)>
class vector< _Tp, >

Definition at line 64 of file dbghelp_private.h.

Member Typedef Documentation

◆ _Base [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _Vector_base<_Tp, _Alloc> vector< _Tp, >::_Base
private

Definition at line 115 of file _vector.h.

◆ _Base [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_NON_DBG_VECTOR vector< _Tp, >::_Base
private

Definition at line 108 of file _vector.h.

◆ _Base [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV VECTOR_IMPL<_StorageType, _StorageTypeAlloc> vector< _Tp, >::_Base
private

Definition at line 55 of file _vector.h.

◆ _ConstructCheck

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV __construct_checker<_STLP_NON_DBG_VECTOR > vector< _Tp, >::_ConstructCheck
private

Definition at line 110 of file _vector.h.

◆ _Iterator_category [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef random_access_iterator_tag vector< _Tp, >::_Iterator_category

Definition at line 131 of file _vector.h.

◆ _Iterator_category [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef random_access_iterator_tag vector< _Tp, >::_Iterator_category

Definition at line 70 of file _vector.h.

◆ _Self [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef vector<_Tp, _Alloc> vector< _Tp, >::_Self
private

Definition at line 116 of file _vector.h.

◆ _Self [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef vector<_Tp, _Alloc> vector< _Tp, >::_Self
private

Definition at line 109 of file _vector.h.

◆ _Self [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef vector<_Tp, _Alloc> vector< _Tp, >::_Self
private

Definition at line 56 of file _vector.h.

◆ _StorageType

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_TYPENAME _STLP_PRIV _StorageType<_Tp>::_QualifiedType vector< _Tp, >::_StorageType
private

Definition at line 53 of file _vector.h.

◆ _StorageTypeAlloc

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Alloc_traits<_StorageType,_Alloc>::allocator_type vector< _Tp, >::_StorageTypeAlloc
private

Definition at line 54 of file _vector.h.

◆ allocator_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Base::allocator_type vector< _Tp, >::allocator_type

Definition at line 119 of file _vector.h.

◆ allocator_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Alloc_traits<value_type,_Alloc>::allocator_type vector< _Tp, >::allocator_type

Definition at line 74 of file _vector.h.

◆ cast_traits

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _CastTraits<_StorageType, _Tp> vector< _Tp, >::cast_traits
private

Definition at line 58 of file _vector.h.

◆ const_iterator [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type* vector< _Tp, >::const_iterator

Definition at line 125 of file _vector.h.

◆ const_iterator [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _DBG_iter<_Base, _STLP_PRIV _DbgTraits<_STLP_PRIV _Vector_const_traits<value_type, typename _Base::iterator> > > vector< _Tp, >::const_iterator

Definition at line 121 of file _vector.h.

◆ const_iterator [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type* vector< _Tp, >::const_iterator

Definition at line 65 of file _vector.h.

◆ const_pointer [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type* vector< _Tp, >::const_pointer

Definition at line 123 of file _vector.h.

◆ const_pointer [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type* vector< _Tp, >::const_pointer

Definition at line 63 of file _vector.h.

◆ const_reference [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type& vector< _Tp, >::const_reference

Definition at line 128 of file _vector.h.

◆ const_reference [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type& vector< _Tp, >::const_reference

Definition at line 67 of file _vector.h.

◆ difference_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef ptrdiff_t vector< _Tp, >::difference_type

Definition at line 130 of file _vector.h.

◆ difference_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef ptrdiff_t vector< _Tp, >::difference_type

Definition at line 69 of file _vector.h.

◆ iterator [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type* vector< _Tp, >::iterator

Definition at line 124 of file _vector.h.

◆ iterator [2/3]

Definition at line 118 of file _vector.h.

◆ iterator [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type* vector< _Tp, >::iterator

Definition at line 64 of file _vector.h.

◆ pointer [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type* vector< _Tp, >::pointer

Definition at line 122 of file _vector.h.

◆ pointer [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type* vector< _Tp, >::pointer

Definition at line 62 of file _vector.h.

◆ reference [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type& vector< _Tp, >::reference

Definition at line 127 of file _vector.h.

◆ reference [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type& vector< _Tp, >::reference

Definition at line 66 of file _vector.h.

◆ size_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef size_t vector< _Tp, >::size_type

Definition at line 129 of file _vector.h.

◆ size_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef size_t vector< _Tp, >::size_type

Definition at line 68 of file _vector.h.

◆ value_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Tp vector< _Tp, >::value_type

Definition at line 121 of file _vector.h.

◆ value_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Tp vector< _Tp, >::value_type

Definition at line 61 of file _vector.h.

Constructor & Destructor Documentation

◆ vector() [1/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const allocator_type __a = allocator_type())
inlineexplicit

Definition at line 217 of file _vector.h.

221 vector(const allocator_type& __a)
222#endif
#define _STLP_PRIV
Definition: _dm.h:70
_Base::allocator_type allocator_type
Definition: _vector.h:119

◆ vector() [2/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( size_type  __n)
inlineexplicit

Definition at line 233 of file _vector.h.

235 { _M_initialize(__n); }
return __n
Definition: _algo.h:75
void _M_initialize(size_type __n, const _Tp &__val=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:230

◆ vector() [3/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( size_type  __n,
const _Tp &  __val,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 236 of file _vector.h.

240 { this->_M_finish = _STLP_PRIV __uninitialized_init(this->_M_start, __n, _STLP_DEFAULT_CONSTRUCTED(_Tp)); }
241 vector(size_type __n, const _Tp& __val)
243 { this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_start, __n, __val); }
244 vector(size_type __n, const _Tp& __val, const allocator_type& __a)
245#endif
247 { this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_start, __n, __val); }
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
#define _Alloc
Definition: _bvector.h:330
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
Definition: _construct.h:265
_ForwardIter __uninitialized_init(_ForwardIter __first, _Size __n, const _Tp &__val)
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)
size_t size_type
Definition: _vector.h:129

◆ vector() [4/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const _Self __x)
inline

Definition at line 249 of file _vector.h.

250 : _STLP_PRIV _Vector_base<_Tp, _Alloc>(__x.size(), __x.get_allocator()) {
252 this->_M_finish = _STLP_PRIV __ucopy_ptrs(__x.begin(), __x.end(), this->_M_start, _TrivialUCopy());
253 }
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)

◆ vector() [5/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( __move_source< _Self src)
inline

Definition at line 256 of file _vector.h.

◆ vector() [6/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const _Tp *  __first,
const _Tp *  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 297 of file _vector.h.

301 this->_M_finish = _STLP_PRIV __ucopy_ptrs(__first, __last, this->_M_start, _TrivialUCopy());
302 }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ ~vector()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::~vector ( )
inline

Definition at line 307 of file _vector.h.

307{ _STLP_STD::_Destroy_Range(rbegin(), rend()); }
reverse_iterator rbegin()
Definition: _vector.h:187
reverse_iterator rend()
Definition: _vector.h:189

◆ vector() [7/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const allocator_type __a = allocator_type())
inlineexplicit

Definition at line 174 of file _vector.h.

_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ vector() [8/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( size_type  __n,
const _Tp &  __x = _Tp(),
const allocator_type __a = allocator_type() 
)
inlineexplicit

Definition at line 178 of file _vector.h.

◆ vector() [9/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const _Self __x)
inline

Definition at line 190 of file _vector.h.

191 : _ConstructCheck(__x), _M_non_dbg_impl(__x._M_non_dbg_impl), _M_iter_list(&_M_non_dbg_impl) {}
_STLP_PRIV __construct_checker< _STLP_NON_DBG_VECTOR > _ConstructCheck
Definition: _vector.h:110

◆ vector() [10/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( __move_source< _Self src)
inline

Definition at line 194 of file _vector.h.

195 : _M_non_dbg_impl(__move_source<_Base>(src.get()._M_non_dbg_impl)),
197# if defined (_STLP_NO_EXTENSIONS) || (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
198 src.get()._M_iter_list._Invalidate_all();
199# else
200 src.get()._M_iter_list._Set_owner(_M_iter_list);
201# endif
202 }

◆ vector() [11/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const _Tp *  __first,
const _Tp *  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 221 of file _vector.h.

223 : _ConstructCheck(__first, __last), _M_non_dbg_impl(__first, __last, __a),

◆ vector() [12/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const_iterator  __first,
const_iterator  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 227 of file _vector.h.

229 : _ConstructCheck(__first, __last),
230 _M_non_dbg_impl(__first._M_iterator, __last._M_iterator, __a),

◆ vector() [13/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const allocator_type __a = allocator_type())
inlineexplicit

Definition at line 106 of file _vector.h.

#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Base _M_impl
Definition: _vector.h:231

◆ vector() [14/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( size_type  __n,
const value_type __val = _STLP_DEFAULT_CONSTRUCTED(value_type),
const allocator_type __a = allocator_type() 
)
inlineexplicit

Definition at line 110 of file _vector.h.

115 : _M_impl(__n, cast_traits::to_storage_type_cref(__val),

◆ vector() [15/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const _Self __x)
inline

Definition at line 123 of file _vector.h.

124 : _M_impl(__x._M_impl) {}

◆ vector() [16/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( __move_source< _Self src)
inlineexplicit

Definition at line 127 of file _vector.h.

128 : _M_impl(__move_source<_Base>(src.get()._M_impl)) {}

◆ vector() [17/17]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::vector ( const_iterator  __first,
const_iterator  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 145 of file _vector.h.

147 : _M_impl(cast_traits::to_storage_type_cptr(__first), cast_traits::to_storage_type_cptr(__last),

Member Function Documentation

◆ _Check_Overflow()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_Check_Overflow ( size_type  __nb)
inlineprivate

Definition at line 131 of file _vector.h.

131 {
132 if (size() + __nb > capacity())
134 }
size_type capacity() const
Definition: _vector.h:199
size_type size() const
Definition: _vector.h:192
void _Invalidate_all()
Definition: _vector.h:124

Referenced by vector< _Tp, >::insert(), and vector< _Tp, >::push_back().

◆ _Compare_Capacity()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_Compare_Capacity ( size_type  __old_capacity)
inlineprivate

Definition at line 135 of file _vector.h.

135 {
136 if (capacity() > __old_capacity) {
138 }
139 }

Referenced by vector< _Tp, >::insert().

◆ _Invalidate_all()

◆ _Invalidate_iterator()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_Invalidate_iterator ( const iterator __it)
inlineprivate

Definition at line 126 of file _vector.h.

127 { _STLP_PRIV __invalidate_iterator(&_M_iter_list, __it); }
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)

Referenced by vector< _Tp, >::pop_back().

◆ _Invalidate_iterators()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_Invalidate_iterators ( const iterator __first,
const iterator __last 
)
inlineprivate

Definition at line 128 of file _vector.h.

129 { _STLP_PRIV __invalidate_range(&_M_iter_list, __first, __last); }

Referenced by vector< _Tp, >::erase(), and vector< _Tp, >::resize().

◆ _M_allocate_and_copy()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
pointer vector< _Tp, >::_M_allocate_and_copy ( size_type __n,
const_pointer  __first,
const_pointer  __last 
)
inlineprivate

Definition at line 679 of file _vector.h.

682 {
683 pointer __result = this->_M_end_of_storage.allocate(__n, __n);
684 _STLP_TRY {
685 uninitialized_copy(__first, __last, __result);
686 return __result;
687 }
688 _STLP_UNWIND(this->_M_end_of_storage.deallocate(__result, __n))
689 _STLP_RET_AFTER_THROW(__result)
690 }
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
#define _STLP_UNWIND(action)
Definition: features.h:824
#define _STLP_RET_AFTER_THROW(data)
Definition: features.h:829
#define _STLP_TRY
Definition: features.h:817
GLsizei const GLvoid * pointer
Definition: glext.h:5848

Referenced by vector< _Tp, >::assign().

◆ _M_assign()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_assign ( const value_type __first,
const value_type __last 
)
inlineprivate

Definition at line 385 of file _vector.h.

385 {
387 _M_non_dbg_impl.assign(__first, __last);
388 }

Referenced by vector< _Tp, >::assign().

◆ _M_clear()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_clear ( )
inlineprivate

Definition at line 658 of file _vector.h.

658 {
659 _STLP_STD::_Destroy_Range(rbegin(), rend());
660 this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start);
661 }

Referenced by vector< _Tp, >::assign().

◆ _M_clear_after_move()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_clear_after_move ( )
inlineprivate

Definition at line 663 of file _vector.h.

663 {
664 _STLP_STD::_Destroy_Moved_Range(rbegin(), rend());
665 this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start);
666 }

Referenced by vector< _Tp, >::_M_range_insert_realloc().

◆ _M_compute_next_size()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::_M_compute_next_size ( size_type  __n)
inlineprivate

Definition at line 171 of file _vector.h.

171 {
172 const size_type __size = size();
173 if (__n > max_size() - __size)
174 this->_M_throw_length_error();
175 size_type __len = __size + (max)(__n, __size);
176 if (__len > max_size() || __len < __size)
177 __len = max_size(); // overflow
178 return __len;
179 }
size_type max_size() const
Definition: _vector.h:193
#define max(a, b)
Definition: svc.c:63

Referenced by vector< _Tp, >::_M_range_insert_realloc().

◆ _M_erase() [1/4]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::_M_erase ( iterator  __first,
iterator  __last,
const __false_type  
)
inlineprivate

Definition at line 614 of file _vector.h.

614 {
616 pointer __i = _STLP_PRIV __copy_ptrs(__last, this->_M_finish, __first, _TrivialCopy());
617 _STLP_STD::_Destroy_Range(__i, this->_M_finish);
618 this->_M_finish = __i;
619 return __first;
620 }
_OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:260

◆ _M_erase() [2/4]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::_M_erase ( iterator  __first,
iterator  __last,
const __true_type  
)
inlineprivate

Definition at line 591 of file _vector.h.

591 {
592 iterator __dst = __first, __src = __last;
593 iterator __end = end();
594 for (; __dst != __last && __src != __end; ++__dst, ++__src) {
595 _STLP_STD::_Destroy(__dst);
596 _STLP_STD::_Move_Construct(__dst, *__src);
597 }
598 if (__dst != __last) {
599 //There is more elements to erase than element to move:
600 _STLP_STD::_Destroy_Range(__dst, __last);
601 _STLP_STD::_Destroy_Moved_Range(__last, __end);
602 }
603 else {
604 //There is more element to move than element to erase:
605 for (; __src != __end; ++__dst, ++__src) {
606 _STLP_STD::_Destroy_Moved(__dst);
607 _STLP_STD::_Move_Construct(__dst, *__src);
608 }
609 _STLP_STD::_Destroy_Moved_Range(__dst, __end);
610 }
611 this->_M_finish = __dst;
612 return __first;
613 }
iterator end()
Definition: _vector.h:184

◆ _M_erase() [3/4]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::_M_erase ( iterator  __pos,
const __false_type  
)
inlineprivate

Definition at line 582 of file _vector.h.

582 {
583 if (__pos + 1 != end()) {
585 _STLP_PRIV __copy_ptrs(__pos + 1, this->_M_finish, __pos, _TrivialCopy());
586 }
587 --this->_M_finish;
588 _STLP_STD::_Destroy(this->_M_finish);
589 return __pos;
590 }

◆ _M_erase() [4/4]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::_M_erase ( iterator  __pos,
const __true_type  
)
inlineprivate

Definition at line 571 of file _vector.h.

571 {
572 _STLP_STD::_Destroy(__pos);
573 iterator __dst = __pos, __src = __dst + 1;
574 iterator __end = end();
575 for (; __src != __end; ++__dst, ++__src) {
576 _STLP_STD::_Move_Construct(__dst, *__src);
577 _STLP_STD::_Destroy_Moved(__src);
578 }
579 this->_M_finish = __dst;
580 return __pos;
581 }

Referenced by vector< _Tp, >::erase().

◆ _M_fill_assign()

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::_M_fill_assign ( size_type  __n,
const _Tp &  __val 
)

Definition at line 210 of file _vector.c.

210 {
211 if (__n > capacity()) {
213 __tmp.swap(*this);
214 } else if (__n > size()) {
215 fill(begin(), end(), __val);
216 this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_finish, __n - size(), __val);
217 } else
219}
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
Definition: _algobase.h:449
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP _OutputIter __fill_n(_OutputIter __first, _Size __n, const _Tp &__val)
Definition: _algobase.h:478
iterator erase(iterator __pos)
Definition: _vector.h:623
iterator begin()
Definition: _vector.h:182
allocator_type get_allocator() const
Definition: _vector.h:135

Referenced by vector< _Tp, >::assign().

◆ _M_fill_insert()

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::_M_fill_insert ( iterator  __pos,
size_type  __n,
const _Tp &  __x 
)
private

Definition at line 166 of file _vector.c.

167 {
168#if !defined (_STLP_NO_MOVE_SEMANTIC)
169 typedef typename __move_traits<_Tp>::implemented _Movable;
170#endif
171 if (__n != 0) {
172 if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) {
173 _M_fill_insert_aux(__pos, __n, __x, _Movable());
174 } else {
176 _M_insert_overflow(__pos, __x, _TrivialCopy(), __n);
177 }
178 }
179}
void _M_insert_overflow(pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend=false)
Definition: _vector.h:157
void _M_fill_insert_aux(iterator __pos, size_type __n, const _Tp &__x, const __true_type &)
Definition: _vector.c:122

Referenced by vector< _Tp, >::insert().

◆ _M_fill_insert_aux() [1/2]

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::_M_fill_insert_aux ( iterator  __pos,
size_type  __n,
const _Tp &  __x,
const __false_type  
)
private

Definition at line 140 of file _vector.c.

141 {
144 //Here self referencing needs to be checked even for non movable types.
145 if (_M_is_inside(__x)) {
146 _Tp __x_copy = __x;
147 _M_fill_insert_aux(__pos, __n, __x_copy, __false_type());
148 return;
149 }
150 const size_type __elems_after = this->_M_finish - __pos;
151 pointer __old_finish = this->_M_finish;
152 if (__elems_after > __n) {
153 _STLP_PRIV __ucopy_ptrs(this->_M_finish - __n, this->_M_finish, this->_M_finish, _TrivialUCopy());
154 this->_M_finish += __n;
155 _STLP_PRIV __copy_backward_ptrs(__pos, __old_finish - __n, __old_finish, _TrivialCopy());
156 _STLP_STD::fill(__pos, __pos + __n, __x);
157 } else {
158 this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_finish, __n - __elems_after, __x);
159 _STLP_PRIV __ucopy_ptrs(__pos, __old_finish, this->_M_finish, _TrivialUCopy());
160 this->_M_finish += __elems_after;
161 _STLP_STD::fill(__pos, __old_finish, __x);
162 }
163}
_STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:299
bool _M_is_inside(const value_type &__x) const
Definition: _vector.h:418

◆ _M_fill_insert_aux() [2/2]

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::_M_fill_insert_aux ( iterator  __pos,
size_type  __n,
const _Tp &  __x,
const __true_type  
)
private

Definition at line 122 of file _vector.c.

123 {
124 if (_M_is_inside(__x)) {
125 _Tp __x_copy = __x;
126 _M_fill_insert_aux(__pos, __n, __x_copy, __true_type());
127 return;
128 }
129 iterator __src = this->_M_finish - 1;
130 iterator __dst = __src + __n;
131 for (; __src >= __pos; --__dst, --__src) {
132 _STLP_STD::_Move_Construct(__dst, *__src);
133 _STLP_STD::_Destroy_Moved(__src);
134 }
136 this->_M_finish += __n;
137}

◆ _M_initialize()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_initialize ( size_type  __n,
const _Tp &  __val = _STLP_DEFAULT_CONSTRUCTED(_Tp) 
)
inlineprivate

Definition at line 230 of file _vector.h.

231 { this->_M_finish = _STLP_PRIV __uninitialized_init(this->_M_start, __n, __val); }

Referenced by vector< _Tp, >::vector().

◆ _M_insert_overflow() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_insert_overflow ( pointer  __pos,
const _Tp &  __x,
const __false_type ,
size_type  __fill_len,
bool  __atend = false 
)
inlineprivate

Definition at line 157 of file _vector.h.

158 {
159#if !defined (_STLP_NO_MOVE_SEMANTIC)
160 typedef typename __move_traits<_Tp>::implemented _Movable;
161#endif
162 _M_insert_overflow_aux(__pos, __x, _Movable(), __fill_len, __atend);
163 }
void _M_insert_overflow_aux(pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend)
Definition: _vector.c:81

Referenced by vector< _Tp, >::push_back().

◆ _M_insert_overflow() [2/2]

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::_M_insert_overflow ( pointer  __pos,
const _Tp &  __x,
const __true_type ,
size_type  __fill_len,
bool  __atend = false 
)
private

Definition at line 108 of file _vector.c.

109 {
110 size_type __len = _M_compute_next_size(__fill_len);
111 pointer __new_start = this->_M_end_of_storage.allocate(__len, __len);
112 pointer __new_finish = __STATIC_CAST(pointer, _STLP_PRIV __copy_trivial(this->_M_start, __pos, __new_start));
113 // handle insertion
114 __new_finish = _STLP_PRIV __fill_n(__new_finish, __fill_len, __x);
115 if (!__atend)
116 __new_finish = __STATIC_CAST(pointer, _STLP_PRIV __copy_trivial(__pos, this->_M_finish, __new_finish)); // copy remainder
117 _M_clear();
118 _M_set(__new_start, __new_finish, __new_start + __len);
119}
void * __copy_trivial(const void *__first, const void *__last, void *__result)
Definition: _algobase.h:222
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:668
void _M_clear()
Definition: _vector.h:658
size_type _M_compute_next_size(size_type __n)
Definition: _vector.h:171

◆ _M_insert_overflow_aux() [1/2]

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::_M_insert_overflow_aux ( pointer  __pos,
const _Tp &  __x,
const __false_type ,
size_type  __fill_len,
bool  __atend 
)
private

Definition at line 81 of file _vector.c.

82 {
84#if !defined (_STLP_NO_MOVE_SEMANTIC)
85 typedef typename __move_traits<_Tp>::implemented _Movable;
86#endif
87 size_type __len = _M_compute_next_size(__fill_len);
88 pointer __new_start = this->_M_end_of_storage.allocate(__len, __len);
89 pointer __new_finish = __new_start;
90 _STLP_TRY {
91 __new_finish = _STLP_PRIV __uninitialized_move(this->_M_start, __pos, __new_start, _TrivialUCopy(), _Movable());
92 // handle insertion
93 if (__fill_len == 1) {
94 _Copy_Construct(__new_finish, __x);
95 ++__new_finish;
96 } else
97 __new_finish = _STLP_PRIV __uninitialized_fill_n(__new_finish, __fill_len, __x);
98 if (!__atend)
99 __new_finish = _STLP_PRIV __uninitialized_move(__pos, this->_M_finish, __new_finish, _TrivialUCopy(), _Movable()); // copy remainder
100 }
101 _STLP_UNWIND((_STLP_STD::_Destroy_Range(__new_start,__new_finish),
102 this->_M_end_of_storage.deallocate(__new_start,__len)))
104 _M_set(__new_start, __new_finish, __new_start + __len);
105}
void _Copy_Construct(_Tp *__p, const _Tp &__val)
Definition: _construct.h:130
_ForwardIter __uninitialized_move(_InputIter __first, _InputIter __last, _ForwardIter __result, _TrivialUCpy __trivial_ucpy, const __false_type &)
void _M_clear_after_move()
Definition: _vector.h:663

Referenced by vector< _Tp, >::_M_insert_overflow(), and vector< _Tp, >::_M_insert_overflow_aux().

◆ _M_insert_overflow_aux() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_insert_overflow_aux ( pointer  __pos,
const _Tp &  __x,
const __true_type ,
size_type  __fill_len,
bool  __atend 
)
inlineprivate

Definition at line 146 of file _vector.h.

147 {
148 //We need to take care of self referencing here:
149 if (_M_is_inside(__x)) {
150 value_type __x_copy = __x;
151 _M_insert_overflow_aux(__pos, __x_copy, __false_type(), __fill_len, __atend);
152 return;
153 }
154 _M_insert_overflow_aux(__pos, __x, __false_type(), __fill_len, __atend);
155 }
_Tp value_type
Definition: _vector.h:121

◆ _M_is_inside()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
bool vector< _Tp, >::_M_is_inside ( const value_type __x) const
inlineprivate

Definition at line 418 of file _vector.h.

418 {
419 return (&__x >= this->_M_start && &__x < this->_M_finish);
420 }

Referenced by vector< _Tp, >::_M_insert_overflow_aux().

◆ _M_range_check()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_range_check ( size_type  __n) const
inlineprivate

Definition at line 166 of file _vector.h.

166 {
167 if (__n >= size_type(this->_M_finish - this->_M_start))
168 this->_M_throw_out_of_range();
169 }

Referenced by vector< _Tp, >::at().

◆ _M_range_insert_aux() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_range_insert_aux ( iterator  __pos,
const_iterator  __first,
const_iterator  __last,
size_type  __n,
const __false_type  
)
inlineprivate

Definition at line 473 of file _vector.h.

476 {
479 const size_type __elems_after = this->_M_finish - __pos;
480 pointer __old_finish = this->_M_finish;
481 if (__elems_after > __n) {
482 _STLP_PRIV __ucopy_ptrs(this->_M_finish - __n, this->_M_finish, this->_M_finish, _TrivialUCopy());
483 this->_M_finish += __n;
484 _STLP_PRIV __copy_backward_ptrs(__pos, __old_finish - __n, __old_finish, _TrivialCopy());
485 copy(__first, __last, __pos);
486 }
487 else {
488#if defined ( _STLP_MEMBER_TEMPLATES )
489 _ForwardIterator __mid = __first;
490 _STLP_STD::advance(__mid, __elems_after);
491#else
492 const_pointer __mid = __first + __elems_after;
493#endif
494 uninitialized_copy(__mid, __last, this->_M_finish);
495 this->_M_finish += __n - __elems_after;
496 _STLP_PRIV __ucopy_ptrs(__pos, __old_finish, this->_M_finish, _TrivialUCopy());
497 this->_M_finish += __elems_after;
498 copy(__first, __mid, __pos);
499 } /* elems_after */
500 }
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
Definition: copy.c:51
const value_type * const_pointer
Definition: _vector.h:123

◆ _M_range_insert_aux() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_range_insert_aux ( iterator  __pos,
const_iterator  __first,
const_iterator  __last,
size_type  __n,
const __true_type  
)
inlineprivate

Definition at line 454 of file _vector.h.

457 {
458 iterator __src = this->_M_finish - 1;
459 iterator __dst = __src + __n;
460 for (; __src >= __pos; --__dst, --__src) {
461 _STLP_STD::_Move_Construct(__dst, *__src);
462 _STLP_STD::_Destroy_Moved(__src);
463 }
464 uninitialized_copy(__first, __last, __pos);
465 this->_M_finish += __n;
466 }

Referenced by vector< _Tp, >::insert().

◆ _M_range_insert_realloc()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_range_insert_realloc ( iterator  __pos,
const_iterator  __first,
const_iterator  __last,
size_type  __n 
)
inlineprivate

Definition at line 427 of file _vector.h.

430 {
432#if !defined (_STLP_NO_MOVE_SEMANTIC)
433 typedef typename __move_traits<_Tp>::implemented _Movable;
434#endif
436 pointer __new_start = this->_M_end_of_storage.allocate(__len, __len);
437 pointer __new_finish = __new_start;
438 _STLP_TRY {
439 __new_finish = _STLP_PRIV __uninitialized_move(this->_M_start, __pos, __new_start, _TrivialUCopy(), _Movable());
440 __new_finish = uninitialized_copy(__first, __last, __new_finish);
441 __new_finish = _STLP_PRIV __uninitialized_move(__pos, this->_M_finish, __new_finish, _TrivialUCopy(), _Movable());
442 }
443 _STLP_UNWIND((_STLP_STD::_Destroy_Range(__new_start,__new_finish),
444 this->_M_end_of_storage.deallocate(__new_start,__len)))
446 _M_set(__new_start, __new_finish, __new_start + __len);
447 }

Referenced by vector< _Tp, >::insert().

◆ _M_set()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::_M_set ( pointer  __s,
pointer  __f,
pointer  __e 
)
inlineprivate

Definition at line 668 of file _vector.h.

668 {
669 this->_M_start = __s;
670 this->_M_finish = __f;
671 this->_M_end_of_storage._M_data = __e;
672 }

Referenced by vector< _Tp, >::_M_range_insert_realloc(), and vector< _Tp, >::assign().

◆ assign() [1/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( const value_type __first,
const value_type __last 
)
inline

Definition at line 390 of file _vector.h.

390 {
391 _STLP_DEBUG_CHECK(_STLP_PRIV __check_ptr_range(__first,__last))
392 _M_assign(__first, __last);
393 }
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
void _M_assign(const value_type *__first, const value_type *__last)
Definition: _vector.h:385

◆ assign() [2/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 325 of file _vector.h.

325 {
326 typedef const_iterator _ForwardIter;
327#endif
328 const size_type __len = _STLP_STD::distance(__first, __last);
329 if (__len > capacity()) {
330 size_type __n = __len;
331 iterator __tmp = _M_allocate_and_copy(__n, __first, __last);
332 _M_clear();
333 _M_set(__tmp, __tmp + __len, __tmp + __n);
334 }
335 else if (size() >= __len) {
336 iterator __new_finish = copy(__first, __last, this->_M_start);
337 _STLP_STD::_Destroy_Range(__new_finish, this->_M_finish);
338 this->_M_finish = __new_finish;
339 }
340 else {
341 _ForwardIter __mid = __first;
342 _STLP_STD::advance(__mid, size());
343 _STLP_STD::copy(__first, __mid, this->_M_start);
344 this->_M_finish = _STLP_STD::uninitialized_copy(__mid, __last, this->_M_finish);
345 }
346 }
const value_type * const_iterator
Definition: _vector.h:125
pointer _M_allocate_and_copy(size_type &__n, const_pointer __first, const_pointer __last)
Definition: _vector.h:679

◆ assign() [3/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 395 of file _vector.h.

395 {
396 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first,__last))
397 _M_assign(__first._M_iterator, __last._M_iterator);
398 }

◆ assign() [4/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 162 of file _vector.h.

162 {
163 _M_impl.assign(cast_traits::to_storage_type_cptr(__first),
164 cast_traits::to_storage_type_cptr(__last));
165 }

◆ assign() [5/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( size_type  __n,
const _Tp &  __val 
)
inline

◆ assign() [6/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( size_type  __n,
const _Tp &  __val 
)
inline

Definition at line 402 of file _vector.h.

402 {
404 _M_non_dbg_impl.assign(__n, __val);
405 }

◆ assign() [7/7]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::assign ( size_type  __n,
const value_type __val 
)
inline

Definition at line 154 of file _vector.h.

155 { _M_impl.assign(__n, cast_traits::to_storage_type_cref(__val)); }

◆ at() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::at ( size_type  __n)
inline

Definition at line 210 of file _vector.h.

210{ _M_range_check(__n); return (*this)[__n]; }
void _M_range_check(size_type __n) const
Definition: _vector.h:166

◆ at() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::at ( size_type  __n)
inline

Definition at line 171 of file _vector.h.

171{ return _M_non_dbg_impl.at(__n); }

◆ at() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::at ( size_type  __n)
inline

Definition at line 103 of file _vector.h.

103{ return cast_traits::to_value_type_ref(_M_impl.at(__n)); }

◆ at() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::at ( size_type  __n) const
inline

Definition at line 211 of file _vector.h.

211{ _M_range_check(__n); return (*this)[__n]; }

◆ at() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::at ( size_type  __n) const
inline

Definition at line 172 of file _vector.h.

172{ return _M_non_dbg_impl.at(__n); }

◆ at() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::at ( size_type  __n) const
inline

Definition at line 104 of file _vector.h.

104{ return cast_traits::to_value_type_cref(_M_impl.at(__n)); }

◆ back() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::back ( )
inline

Definition at line 207 of file _vector.h.

207{ return *(end() - 1); }

◆ back() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::back ( )
inline

Definition at line 256 of file _vector.h.

256 {
257 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
258 return *(--end());
259 }
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439
bool empty() const
Definition: _vector.h:200

◆ back() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::back ( )
inline

Definition at line 100 of file _vector.h.

100{ return cast_traits::to_value_type_ref(_M_impl.back()); }

◆ back() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::back ( ) const
inline

Definition at line 208 of file _vector.h.

208{ return *(end() - 1); }

◆ back() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::back ( ) const
inline

Definition at line 260 of file _vector.h.

260 {
261 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
262 return *(--end());
263 }

◆ back() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::back ( ) const
inline

Definition at line 101 of file _vector.h.

101{ return cast_traits::to_value_type_cref(_M_impl.back()); }

◆ begin() [1/6]

◆ begin() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::begin ( )
inline

Definition at line 146 of file _vector.h.

146{ return iterator(&_M_iter_list, _M_non_dbg_impl.begin()); }
value_type * iterator
Definition: _vector.h:124

◆ begin() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::begin ( )
inline

Definition at line 79 of file _vector.h.

79{ return cast_traits::to_value_type_ptr(_M_impl.begin()); }

◆ begin() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator vector< _Tp, >::begin ( ) const
inline

Definition at line 183 of file _vector.h.

183{ return this->_M_start; }

◆ begin() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator vector< _Tp, >::begin ( ) const
inline

Definition at line 147 of file _vector.h.

147{ return const_iterator(&_M_iter_list, _M_non_dbg_impl.begin()); }

◆ begin() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator vector< _Tp, >::begin ( ) const
inline

Definition at line 80 of file _vector.h.

80{ return cast_traits::to_value_type_cptr(_M_impl.begin()); }

◆ capacity() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::capacity ( ) const
inline

◆ capacity() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::capacity ( ) const
inline

Definition at line 158 of file _vector.h.

158{ return _M_non_dbg_impl.capacity(); }

◆ capacity() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::capacity ( ) const
inline

Definition at line 92 of file _vector.h.

92{ return _M_impl.capacity(); }

◆ clear() [1/3]

◆ clear() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::clear ( )
inline

Definition at line 407 of file _vector.h.

407 {
409 _M_non_dbg_impl.clear();
410 }

◆ clear() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::clear ( )
inline

Definition at line 228 of file _vector.h.

228{ _M_impl.clear(); }

◆ data() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Tp * vector< _Tp, >::data ( )
inline

Definition at line 213 of file _vector.h.

213{ return this->_M_start; }

◆ data() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const _Tp * vector< _Tp, >::data ( ) const
inline

Definition at line 214 of file _vector.h.

214{ return this->_M_start; }

◆ empty() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
bool vector< _Tp, >::empty ( ) const
inline

Definition at line 200 of file _vector.h.

200{ return this->_M_start == this->_M_finish; }

Referenced by vector< _Tp, >::back(), vector< _Tp, >::front(), TArrayAsVector< T >::IsEmpty(), and vector< _Tp, >::pop_back().

◆ empty() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
bool vector< _Tp, >::empty ( ) const
inline

Definition at line 159 of file _vector.h.

159{ return _M_non_dbg_impl.empty(); }

◆ empty() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
bool vector< _Tp, >::empty ( ) const
inline

Definition at line 93 of file _vector.h.

93{ return _M_impl.empty(); }

◆ end() [1/6]

◆ end() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::end ( )
inline

Definition at line 148 of file _vector.h.

148{ return iterator(&_M_iter_list, _M_non_dbg_impl.end()); }

◆ end() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::end ( )
inline

Definition at line 81 of file _vector.h.

81{ return cast_traits::to_value_type_ptr(_M_impl.end()); }

◆ end() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator vector< _Tp, >::end ( ) const
inline

Definition at line 185 of file _vector.h.

185{ return this->_M_finish; }

◆ end() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator vector< _Tp, >::end ( ) const
inline

Definition at line 149 of file _vector.h.

◆ end() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator vector< _Tp, >::end ( ) const
inline

Definition at line 82 of file _vector.h.

82{ return cast_traits::to_value_type_cptr(_M_impl.end()); }

◆ erase() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::erase ( iterator  __first,
iterator  __last 
)
inline

Definition at line 629 of file _vector.h.

629 {
630#if !defined (_STLP_NO_MOVE_SEMANTIC)
631 typedef typename __move_traits<_Tp>::implemented _Movable;
632#endif
633 if (__first == __last)
634 return __first;
635 return _M_erase(__first, __last, _Movable());
636 }
iterator _M_erase(iterator __pos, const __true_type &)
Definition: _vector.h:571

◆ erase() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::erase ( iterator  __first,
iterator  __last 
)
inline

Definition at line 352 of file _vector.h.

352 {
353 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last, begin(), end()))
354 _Invalidate_iterators(__first, end());
355 return iterator(&_M_iter_list, _M_non_dbg_impl.erase(__first._M_iterator, __last._M_iterator));
356 }
return
Definition: dirsup.c:529
GLuint GLuint end
Definition: gl.h:1545
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _vector.h:128

◆ erase() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::erase ( iterator  __first,
iterator  __last 
)
inline

Definition at line 212 of file _vector.h.

212 {
213 return cast_traits::to_value_type_ptr(_M_impl.erase(cast_traits::to_storage_type_ptr(__first),
214 cast_traits::to_storage_type_ptr(__last)));
215 }

◆ erase() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::erase ( iterator  __pos)
inline

Definition at line 623 of file _vector.h.

623 {
624#if !defined (_STLP_NO_MOVE_SEMANTIC)
625 typedef typename __move_traits<_Tp>::implemented _Movable;
626#endif
627 return _M_erase(__pos, _Movable());
628 }

Referenced by vector< _Tp, >::clear(), TArrayAsVector< T >::Destroy(), TArrayAsVector< T >::Detach(), TArrayAsVector< T >::Reallocate(), and vector< _Tp, >::resize().

◆ erase() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::erase ( iterator  __pos)
inline

Definition at line 346 of file _vector.h.

346 {
348 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
349 _Invalidate_iterators(__pos, end());
350 return iterator(&_M_iter_list, _M_non_dbg_impl.erase(__pos._M_iterator));
351 }
bool _Dereferenceable(const _Iterator &__it)
Definition: _iterator.h:93

◆ erase() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::erase ( iterator  __pos)
inline

Definition at line 210 of file _vector.h.

211 {return cast_traits::to_value_type_ptr(_M_impl.erase(cast_traits::to_storage_type_ptr(__pos)));}

◆ front() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::front ( )
inline

Definition at line 205 of file _vector.h.

205{ return *begin(); }

Referenced by ConfigTest::template_function_partial_ordering().

◆ front() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::front ( )
inline

Definition at line 248 of file _vector.h.

248 {
249 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
250 return *begin();
251 }

◆ front() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::front ( )
inline

Definition at line 98 of file _vector.h.

98{ return cast_traits::to_value_type_ref(_M_impl.front()); }

◆ front() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::front ( ) const
inline

Definition at line 206 of file _vector.h.

206{ return *begin(); }

◆ front() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::front ( ) const
inline

Definition at line 252 of file _vector.h.

252 {
253 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
254 return *begin();
255 }

◆ front() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::front ( ) const
inline

Definition at line 99 of file _vector.h.

99{ return cast_traits::to_value_type_cref(_M_impl.front()); }

◆ get_allocator() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
allocator_type vector< _Tp, >::get_allocator ( ) const
inline

Definition at line 135 of file _vector.h.

136 { return _STLP_CONVERT_ALLOCATOR((const allocator_type&)this->_M_end_of_storage, _Tp); }

◆ get_allocator() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
allocator_type vector< _Tp, >::get_allocator ( ) const
inline

Definition at line 144 of file _vector.h.

144{ return _M_non_dbg_impl.get_allocator(); }

◆ get_allocator() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
allocator_type vector< _Tp, >::get_allocator ( ) const
inline

Definition at line 76 of file _vector.h.

77 { return _STLP_CONVERT_ALLOCATOR(_M_impl.get_allocator(), value_type); }

◆ insert() [1/11]

template<class _Tp , class _Alloc >
__iterator__ vector< _Tp, _Alloc >::insert ( iterator  __pos,
const _Tp &  __x = _STLP_DEFAULT_CONSTRUCTED(_Tp) 
)

Definition at line 223 of file _vector.c.

223 {
224 size_type __n = __pos - begin();
225 _M_fill_insert(__pos, 1, __x);
226 return begin() + __n;
227}
void _M_fill_insert(iterator __pos, size_type __n, const _Tp &__x)
Definition: _vector.c:166

Referenced by TArrayAsVector< T >::Add(), TArrayAsVector< T >::AddAt(), and TArrayAsVector< T >::Reallocate().

◆ insert() [2/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::insert ( iterator  __pos,
const _Tp &  __x = _Tp() 
)
inline

Definition at line 274 of file _vector.h.

274 {
275#else
276 iterator insert(iterator __pos, const _Tp& __x) {
277#endif /*_STLP_DONT_SUP_DFLT_PARAM*/
278 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
280 return iterator(&_M_iter_list, _M_non_dbg_impl.insert(__pos._M_iterator, __x));
281 }
void _Check_Overflow(size_type __nb)
Definition: _vector.h:131
static int insert
Definition: xmllint.c:138

◆ insert() [3/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator vector< _Tp, >::insert ( iterator  __pos,
const value_type __x = _STLP_DEFAULT_CONSTRUCTED(value_type) 
)
inline

_STLP_DONT_SUP_DFLT_PARAM && !_STLP_NO_ANACHRONISMS

Definition at line 176 of file _vector.h.

180 { return cast_traits::to_value_type_ptr(_M_impl.insert(cast_traits::to_storage_type_ptr(__pos),
181 cast_traits::to_storage_type_cref(__x))); }

◆ insert() [4/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
const value_type __first,
const value_type __last 
)
inline

Definition at line 302 of file _vector.h.

303 {
304 _STLP_DEBUG_CHECK(_STLP_PRIV __check_ptr_range(__first,__last))
305 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
306 size_type __old_capacity = capacity();
307 _M_non_dbg_impl.insert(__pos._M_iterator, __first, __last);
308 _Compare_Capacity(__old_capacity);
309 }
void _Compare_Capacity(size_type __old_capacity)
Definition: _vector.h:135

◆ insert() [5/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 540 of file _vector.h.

541 {
542#endif
543#if !defined (_STLP_NO_MOVE_SEMANTIC)
544 typedef typename __move_traits<_Tp>::implemented _Movable;
545#endif
546 /* This method do not check self referencing.
547 * Standard forbids it, checked by the debug mode.
548 */
549 if (__first != __last) {
550 size_type __n = _STLP_STD::distance(__first, __last);
551
552 if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) {
553 _M_range_insert_aux(__pos, __first, __last, __n, _Movable());
554 }
555 else {
556 _M_range_insert_realloc(__pos, __first, __last, __n);
557 }
558 }
559 }
void _M_range_insert_realloc(iterator __pos, const_iterator __first, const_iterator __last, size_type __n)
Definition: _vector.h:427
void _M_range_insert_aux(iterator __pos, const_iterator __first, const_iterator __last, size_type __n, const __true_type &)
Definition: _vector.h:454

◆ insert() [6/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 313 of file _vector.h.

314 {
315 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first,__last))
316 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
317 //Sequence requirements 23.1.1 Table 67:
318 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_not_owner(&_M_iter_list, __first));
319 size_type __old_capacity = capacity();
320 _M_non_dbg_impl.insert(__pos._M_iterator, __first._M_iterator, __last._M_iterator);
321 _Compare_Capacity(__old_capacity);
322 }

◆ insert() [7/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 199 of file _vector.h.

199 {
200 _M_impl.insert(cast_traits::to_storage_type_ptr(__pos), cast_traits::to_storage_type_cptr(__first),
201 cast_traits::to_storage_type_cptr(__last));
202 }

◆ insert() [8/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
iterator  __first,
iterator  __last 
)
inline

Definition at line 323 of file _vector.h.

324 {
325 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first,__last))
326 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
327 //Sequence requirements 23.1.1 Table 67:
328 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_not_owner(&_M_iter_list, __first));
329 size_type __old_capacity = capacity();
330 _M_non_dbg_impl.insert(__pos._M_iterator, __first._M_iterator, __last._M_iterator);
331 _Compare_Capacity(__old_capacity);
332 }

◆ insert() [9/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
size_type  __n,
const _Tp &  __x 
)
inline

Definition at line 562 of file _vector.h.

563 { _M_fill_insert(__pos, __n, __x); }

◆ insert() [10/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
size_type  __n,
const _Tp &  __x 
)
inline

Definition at line 335 of file _vector.h.

335 {
336 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
338 _M_non_dbg_impl.insert(__pos._M_iterator, __n, __x);
339 }

◆ insert() [11/11]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::insert ( iterator  __pos,
size_type  __n,
const value_type __x 
)
inline

Definition at line 205 of file _vector.h.

205 {
206 _M_impl.insert(cast_traits::to_storage_type_ptr(__pos), __n, cast_traits::to_storage_type_cref(__x));
207 }

◆ max_size() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::max_size ( ) const
inline

Definition at line 193 of file _vector.h.

193 {
194 size_type __vector_max_size = size_type(-1) / sizeof(_Tp);
195 typename allocator_type::size_type __alloc_max_size = this->_M_end_of_storage.max_size();
196 return (__alloc_max_size < __vector_max_size)?__alloc_max_size:__vector_max_size;
197 }

Referenced by vector< _Tp, >::_M_compute_next_size().

◆ max_size() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::max_size ( ) const
inline

Definition at line 157 of file _vector.h.

157{ return _M_non_dbg_impl.max_size(); }

◆ max_size() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::max_size ( ) const
inline

Definition at line 90 of file _vector.h.

90{ return _M_impl.max_size(); }

◆ operator=() [1/3]

template<class _Tp , class _Alloc >
vector< _Tp, _Alloc > & vector< _Tp, _Alloc >::operator= ( const _Self __x)

Definition at line 182 of file _vector.c.

182 {
185 if (&__x != this) {
186 const size_type __xlen = __x.size();
187 if (__xlen > capacity()) {
188 size_type __len = __xlen;
189 pointer __tmp = _M_allocate_and_copy(__len, __CONST_CAST(const_pointer, __x._M_start) + 0,
190 __CONST_CAST(const_pointer, __x._M_finish) + 0);
191 _M_clear();
192 this->_M_start = __tmp;
193 this->_M_end_of_storage._M_data = this->_M_start + __len;
194 } else if (size() >= __xlen) {
196 __CONST_CAST(const_pointer, __x._M_finish) + 0, this->_M_start, _TrivialCopy());
197 _STLP_STD::_Destroy_Range(__i, this->_M_finish);
198 } else {
200 __CONST_CAST(const_pointer, __x._M_start) + size(), this->_M_start, _TrivialCopy());
202 __CONST_CAST(const_pointer, __x._M_finish) + 0, this->_M_finish, _TrivialUCopy());
203 }
204 this->_M_finish = this->_M_start + __xlen;
205 }
206 return *this;
207}
#define __CONST_CAST(__x, __y)
Definition: features.h:584
GLsizeiptr size
Definition: glext.h:5919

Referenced by TArrayAsVector< T >::operator=().

◆ operator=() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Self & vector< _Tp, >::operator= ( const _Self __x)
inline

Definition at line 234 of file _vector.h.

234 {
235 if (this != &__x) {
237 _M_non_dbg_impl = __x._M_non_dbg_impl;
238 }
239 return *this;
240 }

◆ operator=() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Self & vector< _Tp, >::operator= ( const _Self __x)
inline

Definition at line 151 of file _vector.h.

151{ _M_impl = __x._M_impl; return *this; }

◆ operator[]() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::operator[] ( size_type  __n)
inline

Definition at line 202 of file _vector.h.

202{ return *(begin() + __n); }

Referenced by TArrayAsVector< T >::operator[]().

◆ operator[]() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::operator[] ( size_type  __n)
inline

Definition at line 161 of file _vector.h.

161 {
162 _STLP_VERBOSE_ASSERT(__n < size(), _StlMsg_OUT_OF_BOUNDS)
163 return _M_non_dbg_impl[__n];
164 }

◆ operator[]() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference vector< _Tp, >::operator[] ( size_type  __n)
inline

Definition at line 95 of file _vector.h.

95{ return cast_traits::to_value_type_ref(_M_impl[__n]); }

◆ operator[]() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::operator[] ( size_type  __n) const
inline

Definition at line 203 of file _vector.h.

203{ return *(begin() + __n); }

◆ operator[]() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::operator[] ( size_type  __n) const
inline

Definition at line 166 of file _vector.h.

166 {
167 _STLP_VERBOSE_ASSERT(__n < size(), _StlMsg_OUT_OF_BOUNDS)
168 return _M_non_dbg_impl[__n];
169 }

◆ operator[]() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference vector< _Tp, >::operator[] ( size_type  __n) const
inline

Definition at line 96 of file _vector.h.

96{ return cast_traits::to_value_type_cref(_M_impl[__n]); }

◆ pop_back() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::pop_back ( )
inline

Definition at line 565 of file _vector.h.

565 {
566 --this->_M_finish;
567 _STLP_STD::_Destroy(this->_M_finish);
568 }

◆ pop_back() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::pop_back ( )
inline

Definition at line 341 of file _vector.h.

341 {
342 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
344 _M_non_dbg_impl.pop_back();
345 }
void _Invalidate_iterator(const iterator &__it)
Definition: _vector.h:126

◆ pop_back() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::pop_back ( )
inline

Definition at line 209 of file _vector.h.

209{_M_impl.pop_back();}

◆ push_back() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::push_back ( const _Tp &  __x)
inline

Definition at line 411 of file _vector.h.

411 {
413 _M_non_dbg_impl.push_back(__x);
414 }

◆ push_back() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::push_back ( const _Tp &  __x = _STLP_DEFAULT_CONSTRUCTED(_Tp))
inline

Definition at line 379 of file _vector.h.

379 {
380#else
381 void push_back(const _Tp& __x) {
382#endif
383 if (this->_M_finish != this->_M_end_of_storage._M_data) {
384 _Copy_Construct(this->_M_finish, __x);
385 ++this->_M_finish;
386 }
387 else {
389 _M_insert_overflow(this->_M_finish, __x, _TrivialCopy(), 1, true);
390 }
391 }
void push_back(const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:379

Referenced by PropertySheetDialog::add(), IDropTargetImpl::AddSuportedFormat(), DriveVolume::BuildFileList(), depend(), BtrfsChangeDriveLetter::DlgProc(), EnumFormatEtcImpl::EnumFormatEtcImpl(), find_devices(), InitDialog(), CJournaledTestList::LoadJournalFile(), parse_tident(), vector< _Tp, >::push_back(), DriveVolume::ScanDirectory(), SendSubvolW(), IDataObjectImpl::SetData(), BtrfsSend::StartSend(), tokenize(), translate_macro(), and CJournaledTestList::WriteInitialJournalFile().

◆ push_back() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::push_back ( const value_type __x = _STLP_DEFAULT_CONSTRUCTED(value_type))
inline

_STLP_DONT_SUP_DFLT_PARAM && !_STLP_NO_ANACHRONISMS

Definition at line 169 of file _vector.h.

173 { _M_impl.push_back(cast_traits::to_storage_type_cref(__x)); }

◆ rbegin() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator vector< _Tp, >::rbegin ( )
inline

Definition at line 187 of file _vector.h.

187{ return reverse_iterator(end()); }
#define reverse_iterator
Definition: _abbrevs.h:34

Referenced by vector< _Tp, >::_M_clear(), vector< _Tp, >::_M_clear_after_move(), and vector< _Tp, >::~vector().

◆ rbegin() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator vector< _Tp, >::rbegin ( )
inline

Definition at line 151 of file _vector.h.

151{ return reverse_iterator(end()); }

◆ rbegin() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator vector< _Tp, >::rbegin ( )
inline

Definition at line 84 of file _vector.h.

84{ return reverse_iterator(end()); }

◆ rbegin() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator vector< _Tp, >::rbegin ( ) const
inline

Definition at line 188 of file _vector.h.

188{ return const_reverse_iterator(end()); }

◆ rbegin() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator vector< _Tp, >::rbegin ( ) const
inline

Definition at line 152 of file _vector.h.

152{ return const_reverse_iterator(end()); }

◆ rbegin() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator vector< _Tp, >::rbegin ( ) const
inline

Definition at line 85 of file _vector.h.

85{ return const_reverse_iterator(end()); }

◆ rend() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator vector< _Tp, >::rend ( )
inline

◆ rend() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator vector< _Tp, >::rend ( )
inline

Definition at line 153 of file _vector.h.

153{ return reverse_iterator(begin()); }

◆ rend() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator vector< _Tp, >::rend ( )
inline

Definition at line 86 of file _vector.h.

86{ return reverse_iterator(begin()); }

◆ rend() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator vector< _Tp, >::rend ( ) const
inline

Definition at line 190 of file _vector.h.

190{ return const_reverse_iterator(begin()); }

◆ rend() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator vector< _Tp, >::rend ( ) const
inline

Definition at line 154 of file _vector.h.

154{ return const_reverse_iterator(begin()); }

◆ rend() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator vector< _Tp, >::rend ( ) const
inline

Definition at line 87 of file _vector.h.

87{ return const_reverse_iterator(begin()); }

◆ reserve() [1/3]

template<class _Tp , class _Alloc >
void vector< _Tp, _Alloc >::reserve ( size_type  __n)

Definition at line 62 of file _vector.c.

62 {
63 if (capacity() < __n) {
64 if (max_size() < __n) {
65 this->_M_throw_length_error();
66 }
67
68 const size_type __old_size = size();
69 pointer __tmp;
70 if (this->_M_start) {
71 __tmp = _M_allocate_and_copy(__n, this->_M_start, this->_M_finish);
72 _M_clear();
73 } else {
74 __tmp = this->_M_end_of_storage.allocate(__n, __n);
75 }
76 _M_set(__tmp, __tmp + __old_size, __tmp + __n);
77 }
78}

Referenced by _Locale_impl::_Locale_impl(), hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::_M_initialize_buckets(), _Locale_impl::make_classic_locale(), TArrayAsVector< T >::Reallocate(), and TArrayAsVector< T >::TArrayAsVector().

◆ reserve() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::reserve ( size_type  __n)
inline

Definition at line 242 of file _vector.h.

242 {
243 if (capacity() < __n)
245 _M_non_dbg_impl.reserve(__n);
246 }

◆ reserve() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::reserve ( size_type  __n)
inline

Definition at line 153 of file _vector.h.

153{_M_impl.reserve(__n);}

◆ resize() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::resize ( size_type  __new_size,
const _Tp &  __x = _STLP_DEFAULT_CONSTRUCTED(_Tp) 
)
inline

Definition at line 639 of file _vector.h.

639 {
640#else
641 void resize(size_type __new_size, const _Tp& __x) {
642#endif /*_STLP_DONT_SUP_DFLT_PARAM*/
643 if (__new_size < size())
644 erase(begin() + __new_size, end());
645 else
646 insert(end(), __new_size - size(), __x);
647 }
void resize(size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:639

Referenced by DriveVolume::BuildFileList(), DriveVolume::GetClusterInfo(), InitDialog(), _Locale_impl::insert(), process(), vector< _Tp, >::resize(), and tokenize().

◆ resize() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::resize ( size_type  __new_size,
const _Tp &  __x = _STLP_DEFAULT_CONSTRUCTED(_Tp) 
)
inline

Definition at line 359 of file _vector.h.

359 {
360#else
361 void resize(size_type __new_size, const _Tp& __x) {
362#endif /*_STLP_DONT_SUP_DFLT_PARAM*/
363 if (__new_size > capacity()) {
365 }
366 else if (__new_size < size()) {
367 _Invalidate_iterators(begin() + __new_size, end());
368 }
369 _M_non_dbg_impl.resize(__new_size, __x);
370 }

◆ resize() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::resize ( size_type  __new_size,
const value_type __x = _STLP_DEFAULT_CONSTRUCTED(value_type) 
)
inline

Definition at line 218 of file _vector.h.

222 { _M_impl.resize(__new_size, cast_traits::to_storage_type_cref(__x)); }

◆ size() [1/3]

◆ size() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::size ( ) const
inline

Definition at line 156 of file _vector.h.

156{ return _M_non_dbg_impl.size(); }

◆ size() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type vector< _Tp, >::size ( ) const
inline

Definition at line 89 of file _vector.h.

89{ return _M_impl.size(); }

◆ swap() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::swap ( _Self __x)
inline

Definition at line 404 of file _vector.h.

404 {
405 _STLP_STD::swap(this->_M_start, __x._M_start);
406 _STLP_STD::swap(this->_M_finish, __x._M_finish);
407 this->_M_end_of_storage.swap(__x._M_end_of_storage);
408 }

Referenced by vector< _Tp, >::_M_fill_assign(), and hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::swap().

◆ swap() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::swap ( _Self __x)
inline

Definition at line 265 of file _vector.h.

265 {
266 _M_iter_list._Swap_owners(__x._M_iter_list);
267 _M_non_dbg_impl.swap(__x._M_non_dbg_impl);
268 }

◆ swap() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void vector< _Tp, >::swap ( _Self __x)
inline

Definition at line 189 of file _vector.h.

189{ _M_impl.swap(__x._M_impl); }

Member Data Documentation

◆ _M_impl

◆ _M_iter_list

◆ _M_non_dbg_impl

◆ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
vector< _Tp, >::_STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS

Definition at line 133 of file _vector.h.

◆ buckets

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void** vector< _Tp, >::buckets

Definition at line 66 of file dbghelp_private.h.

◆ buckets_allocated

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
unsigned vector< _Tp, >::buckets_allocated

Definition at line 71 of file dbghelp_private.h.

◆ elt_size

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
unsigned vector< _Tp, >::elt_size

Definition at line 67 of file dbghelp_private.h.

◆ num_buckets

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
unsigned vector< _Tp, >::num_buckets

Definition at line 70 of file dbghelp_private.h.

◆ num_elts

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
unsigned vector< _Tp, >::num_elts

Definition at line 69 of file dbghelp_private.h.

◆ shift

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
unsigned vector< _Tp, >::shift

Definition at line 68 of file dbghelp_private.h.


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