ReactOS  0.4.14-dev-52-g6116262
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
 
 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 65 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_IMPL<_StorageType, _StorageTypeAlloc> vector< _Tp, >::_Base
private

Definition at line 55 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_base<_Tp, _Alloc> vector< _Tp, >::_Base
private

Definition at line 115 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 70 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 131 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 56 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 116 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 _Alloc_traits<value_type, _Alloc>::allocator_type vector< _Tp, >::allocator_type

Definition at line 74 of file _vector.h.

◆ allocator_type [2/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.

◆ 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 65 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 125 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 63 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 123 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 67 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 128 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 69 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 130 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 64 of file _vector.h.

◆ 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_nonconst_traits<value_type, typename _Base::iterator> > > vector< _Tp, >::iterator

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 124 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 62 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 122 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 66 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 127 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 68 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 129 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 61 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 121 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 214 of file _vector.h.

218  vector(const allocator_type& __a)
219 #endif
vector(const allocator_type &__a=allocator_type())
Definition: _vector.h:214
#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 230 of file _vector.h.

232  { _M_initialize(__n); }
return __n
Definition: _algo.h:75
#define _STLP_PRIV
Definition: _dm.h:70
_Base::allocator_type allocator_type
Definition: _vector.h:119
void _M_initialize(size_type __n, const _Tp &__val=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:227

◆ 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 233 of file _vector.h.

237  { this->_M_finish = _STLP_PRIV __uninitialized_init(this->_M_start, __n, _STLP_DEFAULT_CONSTRUCTED(_Tp)); }
238  vector(size_type __n, const _Tp& __val)
240  { this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_start, __n, __val); }
241  vector(size_type __n, const _Tp& __val, const allocator_type& __a)
242 #endif
244  { this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_start, __n, __val); }
return __n
Definition: _algo.h:75
#define _Alloc
Definition: _bvector.h:330
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
Definition: _construct.h:265
size_t size_type
Definition: _vector.h:129
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
vector(const allocator_type &__a=allocator_type())
Definition: _vector.h:214
#define _STLP_PRIV
Definition: _dm.h:70
_Base::allocator_type allocator_type
Definition: _vector.h:119
_ForwardIter __uninitialized_init(_ForwardIter __first, _Size __n, const _Tp &__val)
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)

◆ vector() [4/17]

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

Definition at line 246 of file _vector.h.

247  : _STLP_PRIV _Vector_base<_Tp, _Alloc>(__x.size(), __x.get_allocator()) {
249  this->_M_finish = _STLP_PRIV __ucopy_ptrs(__x.begin(), __x.end(), this->_M_start, _TrivialUCopy());
250  }
#define _STLP_PRIV
Definition: _dm.h:70
_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 253 of file _vector.h.

255  {}
#define _STLP_PRIV
Definition: _dm.h:70
GLenum src
Definition: glext.h:6340

◆ 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 294 of file _vector.h.

296  : _STLP_PRIV _Vector_base<_Tp, _Alloc>(__last - __first, __a) {
298  this->_M_finish = _STLP_PRIV __ucopy_ptrs(__first, __last, this->_M_start, _TrivialUCopy());
299  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)

◆ ~vector()

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

Definition at line 304 of file _vector.h.

reverse_iterator rend()
Definition: _vector.h:189
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
reverse_iterator rbegin()
Definition: _vector.h:187

◆ 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.

return __n
Definition: _algo.h:75
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ 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) {}
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __construct_checker< _STLP_NON_DBG_VECTOR > _ConstructCheck
Definition: _vector.h:110
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ 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  }
_Base _M_non_dbg_impl
Definition: _vector.h:111
GLenum src
Definition: glext.h:6340
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ 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),
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __construct_checker< _STLP_NON_DBG_VECTOR > _ConstructCheck
Definition: _vector.h:110
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ 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),
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __construct_checker< _STLP_NON_DBG_VECTOR > _ConstructCheck
Definition: _vector.h:110
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ 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),
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
_Base _M_impl
Definition: _vector.h:231

◆ 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) {}
_Base _M_impl
Definition: _vector.h:231

◆ 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)) {}
GLenum src
Definition: glext.h:6340
_Base _M_impl
Definition: _vector.h:231

◆ 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),
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_impl
Definition: _vector.h:231

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())
133  _Invalidate_all();
134  }
void _Invalidate_all()
Definition: _vector.h:124
size_type size() const
Definition: _vector.h:192
size_type capacity() const
Definition: _vector.h:199

Referenced by vector< CTestInfo >::insert(), and vector< CTestInfo >::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) {
137  _Invalidate_all();
138  }
139  }
void _Invalidate_all()
Definition: _vector.h:124
size_type capacity() const
Definition: _vector.h:199

Referenced by vector< CTestInfo >::insert().

◆ _Invalidate_all()

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

◆ _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)
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

Referenced by vector< CTestInfo >::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); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

Referenced by vector< CTestInfo >::erase(), and vector< CTestInfo >::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 676 of file _vector.h.

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

Referenced by vector< CTestInfo >::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  {
386  _Invalidate_all();
387  _M_non_dbg_impl.assign(__first, __last);
388  }
void _Invalidate_all()
Definition: _vector.h:124
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_non_dbg_impl
Definition: _vector.h:111

Referenced by vector< CTestInfo >::assign().

◆ _M_clear()

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

Definition at line 655 of file _vector.h.

655  {
657  this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start);
658  }
reverse_iterator rend()
Definition: _vector.h:189
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
reverse_iterator rbegin()
Definition: _vector.h:187

Referenced by vector< CTestInfo >::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 660 of file _vector.h.

660  {
662  this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start);
663  }
reverse_iterator rend()
Definition: _vector.h:189
void _Destroy_Moved_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:239
reverse_iterator rbegin()
Definition: _vector.h:187

Referenced by vector< CTestInfo >::_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  }
#define max(a, b)
Definition: svc.c:63
return __n
Definition: _algo.h:75
size_type max_size() const
Definition: _vector.h:193
size_t size_type
Definition: _vector.h:129
size_type size() const
Definition: _vector.h:192

Referenced by vector< CTestInfo >::_M_range_insert_realloc().

◆ _M_erase() [1/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 568 of file _vector.h.

568  {
569  _STLP_STD::_Destroy(__pos);
570  iterator __dst = __pos, __src = __dst + 1;
571  iterator __end = end();
572  for (; __src != __end; ++__dst, ++__src) {
573  _STLP_STD::_Move_Construct(__dst, *__src);
575  }
576  this->_M_finish = __dst;
577  return __pos;
578  }
iterator end()
Definition: _vector.h:184
void _Destroy_Moved(_Tp *__pointer)
Definition: _construct.h:72
void _Destroy(_Tp *__pointer)
Definition: _construct.h:63
void _Move_Construct(_T1 *__p, _T2 &__val)
Definition: _construct.h:174

Referenced by vector< CTestInfo >::erase().

◆ _M_erase() [2/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 579 of file _vector.h.

579  {
580  if (__pos + 1 != end()) {
582  _STLP_PRIV __copy_ptrs(__pos + 1, this->_M_finish, __pos, _TrivialCopy());
583  }
584  --this->_M_finish;
585  _STLP_STD::_Destroy(this->_M_finish);
586  return __pos;
587  }
iterator end()
Definition: _vector.h:184
#define _STLP_PRIV
Definition: _dm.h:70
void _Destroy(_Tp *__pointer)
Definition: _construct.h:63
_OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:260

◆ _M_erase() [3/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 588 of file _vector.h.

588  {
589  iterator __dst = __first, __src = __last;
590  iterator __end = end();
591  for (; __dst != __last && __src != __end; ++__dst, ++__src) {
592  _STLP_STD::_Destroy(__dst);
593  _STLP_STD::_Move_Construct(__dst, *__src);
594  }
595  if (__dst != __last) {
596  //There is more elements to erase than element to move:
599  }
600  else {
601  //There is more element to move than element to erase:
602  for (; __src != __end; ++__dst, ++__src) {
604  _STLP_STD::_Move_Construct(__dst, *__src);
605  }
606  _STLP_STD::_Destroy_Moved_Range(__dst, __end);
607  }
608  this->_M_finish = __dst;
609  return __first;
610  }
iterator end()
Definition: _vector.h:184
void _Destroy_Moved_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:239
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Destroy_Moved(_Tp *__pointer)
Definition: _construct.h:72
void _Destroy(_Tp *__pointer)
Definition: _construct.h:63
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
void _Move_Construct(_T1 *__p, _T2 &__val)
Definition: _construct.h:174

◆ _M_erase() [4/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 611 of file _vector.h.

611  {
613  pointer __i = _STLP_PRIV __copy_ptrs(__last, this->_M_finish, __first, _TrivialCopy());
614  _STLP_STD::_Destroy_Range(__i, this->_M_finish);
615  this->_M_finish = __i;
616  return __first;
617  }
GLsizei const GLvoid * pointer
Definition: glext.h:5848
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
_OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:260

◆ _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 }
return __n
Definition: _algo.h:75
iterator end()
Definition: _vector.h:184
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP _OutputIter __fill_n(_OutputIter __first, _Size __n, const _Tp &__val)
Definition: _algobase.h:478
allocator_type get_allocator() const
Definition: _vector.h:135
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
Definition: _algobase.h:449
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
iterator erase(iterator __pos)
Definition: _vector.h:620
iterator begin()
Definition: _vector.h:182
#define _STLP_PRIV
Definition: _dm.h:70
size_type size() const
Definition: _vector.h:192
size_type capacity() const
Definition: _vector.h:199
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)

Referenced by vector< CTestInfo >::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_fill_insert_aux(iterator __pos, size_type __n, const _Tp &__x, const __true_type &)
Definition: _vector.c:122
return __n
Definition: _algo.h:75
void _M_insert_overflow(pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend=false)
Definition: _vector.h:157
size_t size_type
Definition: _vector.h:129

Referenced by vector< CTestInfo >::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 __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);
134  }
136  this->_M_finish += __n;
137 }
void _M_fill_insert_aux(iterator __pos, size_type __n, const _Tp &__x, const __true_type &)
Definition: _vector.c:122
return __n
Definition: _algo.h:75
void _Destroy_Moved(_Tp *__pointer)
Definition: _construct.h:72
#define _STLP_PRIV
Definition: _dm.h:70
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)
bool _M_is_inside(const value_type &__x) const
Definition: _vector.h:415
void _Move_Construct(_T1 *__p, _T2 &__val)
Definition: _construct.h:174

◆ _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 __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 }
void _M_fill_insert_aux(iterator __pos, size_type __n, const _Tp &__x, const __true_type &)
Definition: _vector.c:122
return __n
Definition: _algo.h:75
GLsizei const GLvoid * pointer
Definition: glext.h:5848
_STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:299
size_t size_type
Definition: _vector.h:129
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
Definition: _algobase.h:449
#define _STLP_PRIV
Definition: _dm.h:70
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)
bool _M_is_inside(const value_type &__x) const
Definition: _vector.h:415
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)

◆ _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 227 of file _vector.h.

228  { this->_M_finish = _STLP_PRIV __uninitialized_init(this->_M_start, __n, __val); }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
#define _STLP_PRIV
Definition: _dm.h:70
_ForwardIter __uninitialized_init(_ForwardIter __first, _Size __n, const _Tp &__val)

Referenced by vector< CTestInfo >::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< CTestInfo >::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 }
GLsizei const GLvoid * pointer
Definition: glext.h:5848
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP _OutputIter __fill_n(_OutputIter __first, _Size __n, const _Tp &__val)
Definition: _algobase.h:478
void _M_clear()
Definition: _vector.h:655
size_type _M_compute_next_size(size_type __n)
Definition: _vector.h:171
size_t size_type
Definition: _vector.h:129
#define _STLP_PRIV
Definition: _dm.h:70
void * __copy_trivial(const void *__first, const void *__last, void *__result)
Definition: _algobase.h:222
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:665

◆ _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 }
GLsizei const GLvoid * pointer
Definition: glext.h:5848
_ForwardIter __uninitialized_move(_InputIter __first, _InputIter __last, _ForwardIter __result, _TrivialUCpy __trivial_ucpy, const __false_type &)
#define _STLP_UNWIND(action)
Definition: features.h:824
size_type _M_compute_next_size(size_type __n)
Definition: _vector.h:171
size_t size_type
Definition: _vector.h:129
void _Copy_Construct(_Tp *__p, const _Tp &__val)
Definition: _construct.h:130
#define _STLP_PRIV
Definition: _dm.h:70
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
void _M_clear_after_move()
Definition: _vector.h:660
#define _STLP_TRY
Definition: features.h:817
_ForwardIter __uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:665

Referenced by vector< CTestInfo >::_M_insert_overflow(), and vector< CTestInfo >::_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
void _M_insert_overflow_aux(pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend)
Definition: _vector.c:81
bool _M_is_inside(const value_type &__x) const
Definition: _vector.h:415

◆ _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 415 of file _vector.h.

415  {
416  return (&__x >= this->_M_start && &__x < this->_M_finish);
417  }

Referenced by vector< CTestInfo >::_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  }
return __n
Definition: _algo.h:75
size_t size_type
Definition: _vector.h:129

Referenced by vector< CTestInfo >::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 __true_type  
)
inlineprivate

Definition at line 451 of file _vector.h.

454  {
455  iterator __src = this->_M_finish - 1;
456  iterator __dst = __src + __n;
457  for (; __src >= __pos; --__dst, --__src) {
458  _STLP_STD::_Move_Construct(__dst, *__src);
460  }
461  uninitialized_copy(__first, __last, __pos);
462  this->_M_finish += __n;
463  }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
void _Destroy_Moved(_Tp *__pointer)
Definition: _construct.h:72
void _Move_Construct(_T1 *__p, _T2 &__val)
Definition: _construct.h:174

Referenced by vector< CTestInfo >::insert().

◆ _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 __false_type  
)
inlineprivate

Definition at line 470 of file _vector.h.

473  {
476  const size_type __elems_after = this->_M_finish - __pos;
477  pointer __old_finish = this->_M_finish;
478  if (__elems_after > __n) {
479  _STLP_PRIV __ucopy_ptrs(this->_M_finish - __n, this->_M_finish, this->_M_finish, _TrivialUCopy());
480  this->_M_finish += __n;
481  _STLP_PRIV __copy_backward_ptrs(__pos, __old_finish - __n, __old_finish, _TrivialCopy());
482  copy(__first, __last, __pos);
483  }
484  else {
485 #if defined ( _STLP_MEMBER_TEMPLATES )
486  _ForwardIterator __mid = __first;
487  _STLP_STD::advance(__mid, __elems_after);
488 #else
489  const_pointer __mid = __first + __elems_after;
490 #endif
491  uninitialized_copy(__mid, __last, this->_M_finish);
492  this->_M_finish += __n - __elems_after;
493  _STLP_PRIV __ucopy_ptrs(__pos, __old_finish, this->_M_finish, _TrivialUCopy());
494  this->_M_finish += __elems_after;
495  copy(__first, __mid, __pos);
496  } /* elems_after */
497  }
const value_type * const_pointer
Definition: _vector.h:123
return __n
Definition: _algo.h:75
GLsizei const GLvoid * pointer
Definition: glext.h:5848
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
_STLP_MOVE_TO_PRIV_NAMESPACE _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:299
size_t size_type
Definition: _vector.h:129
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_MOVE_TO_STD_NAMESPACE void _STLP_CALL advance(_InputIterator &__i, _Distance __n)
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
Definition: copy.c:51
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)

◆ _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 424 of file _vector.h.

427  {
429 #if !defined (_STLP_NO_MOVE_SEMANTIC)
430  typedef typename __move_traits<_Tp>::implemented _Movable;
431 #endif
433  pointer __new_start = this->_M_end_of_storage.allocate(__len, __len);
434  pointer __new_finish = __new_start;
435  _STLP_TRY {
436  __new_finish = _STLP_PRIV __uninitialized_move(this->_M_start, __pos, __new_start, _TrivialUCopy(), _Movable());
437  __new_finish = uninitialized_copy(__first, __last, __new_finish);
438  __new_finish = _STLP_PRIV __uninitialized_move(__pos, this->_M_finish, __new_finish, _TrivialUCopy(), _Movable());
439  }
440  _STLP_UNWIND((_STLP_STD::_Destroy_Range(__new_start,__new_finish),
441  this->_M_end_of_storage.deallocate(__new_start,__len)))
443  _M_set(__new_start, __new_finish, __new_start + __len);
444  }
return __n
Definition: _algo.h:75
GLsizei const GLvoid * pointer
Definition: glext.h:5848
_ForwardIter __uninitialized_move(_InputIter __first, _InputIter __last, _ForwardIter __result, _TrivialUCpy __trivial_ucpy, const __false_type &)
#define _STLP_UNWIND(action)
Definition: features.h:824
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
size_type _M_compute_next_size(size_type __n)
Definition: _vector.h:171
size_t size_type
Definition: _vector.h:129
#define _STLP_PRIV
Definition: _dm.h:70
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
void _M_clear_after_move()
Definition: _vector.h:660
#define _STLP_TRY
Definition: features.h:817
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:665

Referenced by vector< CTestInfo >::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 665 of file _vector.h.

665  {
666  this->_M_start = __s;
667  this->_M_finish = __f;
668  this->_M_end_of_storage._M_data = __e;
669  }

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

◆ assign() [1/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)); }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
_Base _M_impl
Definition: _vector.h:231

◆ 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 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  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_impl
Definition: _vector.h:231

◆ assign() [3/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 315 of file _vector.h.

315 { _M_fill_assign(__n, __val); }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
void _M_fill_assign(size_type __n, const _Tp &__val)
Definition: _vector.c:210

Referenced by hashtable< _Value, _Value, _HashFcn, _UnorderedMultisetTraits, _STLP_PRIV _Identity< _Value >, _EqualKey, _Alloc >::_M_initialize_buckets(), _Locale_impl::make_classic_locale(), and vector< CTestInfo >::resize().

◆ 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 322 of file _vector.h.

322  {
323  typedef const_iterator _ForwardIter;
324 #endif
325  const size_type __len = _STLP_STD::distance(__first, __last);
326  if (__len > capacity()) {
327  size_type __n = __len;
328  iterator __tmp = _M_allocate_and_copy(__n, __first, __last);
329  _M_clear();
330  _M_set(__tmp, __tmp + __len, __tmp + __n);
331  }
332  else if (size() >= __len) {
333  iterator __new_finish = copy(__first, __last, this->_M_start);
334  _STLP_STD::_Destroy_Range(__new_finish, this->_M_finish);
335  this->_M_finish = __new_finish;
336  }
337  else {
338  _ForwardIter __mid = __first;
339  _STLP_STD::advance(__mid, size());
340  _STLP_STD::copy(__first, __mid, this->_M_start);
341  this->_M_finish = _STLP_STD::uninitialized_copy(__mid, __last, this->_M_finish);
342  }
343  }
pointer _M_allocate_and_copy(size_type &__n, const_pointer __first, const_pointer __last)
Definition: _vector.h:676
return __n
Definition: _algo.h:75
GLsizei GLsizei GLfloat distance
Definition: glext.h:11755
void _M_clear()
Definition: _vector.h:655
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
size_t size_type
Definition: _vector.h:129
_STLP_MOVE_TO_STD_NAMESPACE void _STLP_CALL advance(_InputIterator &__i, _Distance __n)
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
const value_type * const_iterator
Definition: _vector.h:125
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
Definition: copy.c:51
size_type size() const
Definition: _vector.h:192
size_type capacity() const
Definition: _vector.h:199
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:665

◆ assign() [5/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  }
void _M_assign(const value_type *__first, const value_type *__last)
Definition: _vector.h:385
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440

◆ assign() [6/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  }
void _M_assign(const value_type *__first, const value_type *__last)
Definition: _vector.h:385
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440

◆ assign() [7/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  {
403  _Invalidate_all();
404  _M_non_dbg_impl.assign(__n, __val);
405  }
return __n
Definition: _algo.h:75
void _Invalidate_all()
Definition: _vector.h:124
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ at() [1/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)); }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _vector.h:231

◆ at() [2/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)); }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _vector.h:231

◆ at() [3/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); }
return __n
Definition: _algo.h:75
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ 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 172 of file _vector.h.

172 { return _M_non_dbg_impl.at(__n); }
return __n
Definition: _algo.h:75
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ at() [5/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]; }
return __n
Definition: _algo.h:75
void _M_range_check(size_type __n) const
Definition: _vector.h:166

◆ 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 211 of file _vector.h.

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

◆ back() [1/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ back() [2/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ back() [3/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); }
iterator end()
Definition: _vector.h:184

◆ 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); }
iterator end()
Definition: _vector.h:184

◆ back() [5/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  }
iterator end()
Definition: _vector.h:184
bool empty() const
Definition: _vector.h:200
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ back() [6/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  }
iterator end()
Definition: _vector.h:184
bool empty() const
Definition: _vector.h:200
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ begin() [1/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ begin() [2/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ begin() [3/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
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ begin() [4/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()); }
_Base _M_non_dbg_impl
Definition: _vector.h:111
const value_type * const_iterator
Definition: _vector.h:125
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ begin() [5/6]

◆ begin() [6/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; }

◆ capacity() [1/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(); }
_Base _M_impl
Definition: _vector.h:231

◆ 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(); }
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ capacity() [3/3]

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

◆ clear() [1/3]

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

Definition at line 228 of file _vector.h.

228 { _M_impl.clear(); }
_Base _M_impl
Definition: _vector.h:231

◆ clear() [2/3]

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

Definition at line 407 of file _vector.h.

407  {
408  _Invalidate_all();
409  _M_non_dbg_impl.clear();
410  }
void _Invalidate_all()
Definition: _vector.h:124
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ clear() [3/3]

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

Definition at line 650 of file _vector.h.

650  {
651  erase(begin(), end());
652  }
iterator end()
Definition: _vector.h:184
iterator erase(iterator __pos)
Definition: _vector.h:620
iterator begin()
Definition: _vector.h:182

Referenced by DriveVolume::BuildFileList(), TArrayAsVector< KeyMap >::Flush(), BtrfsDeviceAdd::populate_device_tree(), BtrfsSend::StartSend(), and DriveVolume::~DriveVolume().

◆ empty() [1/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(); }
_Base _M_impl
Definition: _vector.h:231

◆ 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(); }
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ empty() [3/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< CTestInfo >::back(), vector< CTestInfo >::front(), TArrayAsVector< KeyMap >::IsEmpty(), and vector< CTestInfo >::pop_back().

◆ end() [1/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ end() [2/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ end() [3/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()); }
value_type * iterator
Definition: _vector.h:124
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ end() [4/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.

149 { return const_iterator(&_M_iter_list, _M_non_dbg_impl.end()); }
_Base _M_non_dbg_impl
Definition: _vector.h:111
const value_type * const_iterator
Definition: _vector.h:125
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ end() [5/6]

◆ end() [6/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; }

◆ erase() [1/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)));}
_Base _M_impl
Definition: _vector.h:231

◆ 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 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  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_impl
Definition: _vector.h:231

◆ erase() [3/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  }
iterator end()
Definition: _vector.h:184
bool _Dereferenceable(const _Iterator &__it)
Definition: _iterator.h:93
value_type * iterator
Definition: _vector.h:124
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_PRIV
Definition: _dm.h:70
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _vector.h:128
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ erase() [4/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
iterator end()
Definition: _vector.h:184
GLuint GLuint end
Definition: gl.h:1545
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
iterator erase(iterator __pos)
Definition: _vector.h:620
_Base _M_non_dbg_impl
Definition: _vector.h:111
iterator begin()
Definition: _vector.h:182
#define _STLP_PRIV
Definition: _dm.h:70
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _vector.h:128
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ erase() [5/6]

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

Definition at line 620 of file _vector.h.

620  {
621 #if !defined (_STLP_NO_MOVE_SEMANTIC)
622  typedef typename __move_traits<_Tp>::implemented _Movable;
623 #endif
624  return _M_erase(__pos, _Movable());
625  }
iterator _M_erase(iterator __pos, const __true_type &)
Definition: _vector.h:568

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

◆ erase() [6/6]

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

Definition at line 626 of file _vector.h.

626  {
627 #if !defined (_STLP_NO_MOVE_SEMANTIC)
628  typedef typename __move_traits<_Tp>::implemented _Movable;
629 #endif
630  if (__first == __last)
631  return __first;
632  return _M_erase(__first, __last, _Movable());
633  }
iterator _M_erase(iterator __pos, const __true_type &)
Definition: _vector.h:568
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ front() [1/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ front() [2/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()); }
_Base _M_impl
Definition: _vector.h:231

◆ front() [3/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(); }
iterator begin()
Definition: _vector.h:182

◆ 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(); }
iterator begin()
Definition: _vector.h:182

◆ front() [5/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  }
bool empty() const
Definition: _vector.h:200
iterator begin()
Definition: _vector.h:182
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ front() [6/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  }
bool empty() const
Definition: _vector.h:200
iterator begin()
Definition: _vector.h:182
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ 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 76 of file _vector.h.

77  { return _STLP_CONVERT_ALLOCATOR(_M_impl.get_allocator(), value_type); }
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Tp value_type
Definition: _vector.h:121
_Base _M_impl
Definition: _vector.h:231

◆ 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 135 of file _vector.h.

136  { return _STLP_CONVERT_ALLOCATOR((const allocator_type&)this->_M_end_of_storage, _Tp); }
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Base::allocator_type allocator_type
Definition: _vector.h:119

◆ 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 144 of file _vector.h.

144 { return _M_non_dbg_impl.get_allocator(); }
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ insert() [1/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))); }
_Base _M_impl
Definition: _vector.h:231

◆ insert() [2/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  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base _M_impl
Definition: _vector.h:231

◆ insert() [3/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  }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _vector.h:231

◆ insert() [4/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))
279  _Check_Overflow(1);
280  return iterator(&_M_iter_list, _M_non_dbg_impl.insert(__pos._M_iterator, __x));
281  }
iterator insert(iterator __pos, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.c:223
value_type * iterator
Definition: _vector.h:124
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_PRIV
Definition: _dm.h:70
void _Check_Overflow(size_type __nb)
Definition: _vector.h:131
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ insert() [5/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
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
size_t size_type
Definition: _vector.h:129
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
size_type capacity() const
Definition: _vector.h:199
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ 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  }
void _Compare_Capacity(size_type __old_capacity)
Definition: _vector.h:135
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
size_t size_type
Definition: _vector.h:129
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
size_type capacity() const
Definition: _vector.h:199
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ insert() [7/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  }
void _Compare_Capacity(size_type __old_capacity)
Definition: _vector.h:135
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
size_t size_type
Definition: _vector.h:129
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
size_type capacity() const
Definition: _vector.h:199
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ insert() [8/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  }
return __n
Definition: _algo.h:75
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_PRIV
Definition: _dm.h:70
void _Check_Overflow(size_type __nb)
Definition: _vector.h:131
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ insert() [9/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
return __n
Definition: _algo.h:75
size_t size_type
Definition: _vector.h:129
iterator begin()
Definition: _vector.h:182

Referenced by TArrayAsVector< KeyMap >::Add(), TArrayAsVector< KeyMap >::AddAt(), vector< CTestInfo >::insert(), vector< CTestInfo >::push_back(), TArrayAsVector< KeyMap >::Reallocate(), and vector< CTestInfo >::resize().

◆ insert() [10/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 537 of file _vector.h.

538  {
539 #endif
540 #if !defined (_STLP_NO_MOVE_SEMANTIC)
541  typedef typename __move_traits<_Tp>::implemented _Movable;
542 #endif
543  /* This method do not check self referencing.
544  * Standard forbids it, checked by the debug mode.
545  */
546  if (__first != __last) {
548 
549  if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) {
550  _M_range_insert_aux(__pos, __first, __last, __n, _Movable());
551  }
552  else {
553  _M_range_insert_realloc(__pos, __first, __last, __n);
554  }
555  }
556  }
return __n
Definition: _algo.h:75
void _M_range_insert_realloc(iterator __pos, const_iterator __first, const_iterator __last, size_type __n)
Definition: _vector.h:424
GLsizei GLsizei GLfloat distance
Definition: glext.h:11755
void _M_range_insert_aux(iterator __pos, const_iterator __first, const_iterator __last, size_type __n, const __true_type &)
Definition: _vector.h:451
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
size_t size_type
Definition: _vector.h:129

◆ insert() [11/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 559 of file _vector.h.

560  { _M_fill_insert(__pos, __n, __x); }
void _M_fill_insert(iterator __pos, size_type __n, const _Tp &__x)
Definition: _vector.c:166
return __n
Definition: _algo.h:75

◆ 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 90 of file _vector.h.

90 { return _M_impl.max_size(); }
_Base _M_impl
Definition: _vector.h:231

◆ 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(); }
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ 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 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  }
size_t size_type
Definition: _vector.h:129

Referenced by vector< CTestInfo >::_M_compute_next_size().

◆ operator=() [1/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; }
_Base _M_impl
Definition: _vector.h:231

◆ 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) {
236  _Invalidate_all();
237  _M_non_dbg_impl = __x._M_non_dbg_impl;
238  }
239  return *this;
240  }
void _Invalidate_all()
Definition: _vector.h:124
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ operator=() [3/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) {
195  pointer __i = _STLP_PRIV __copy_ptrs(__CONST_CAST(const_pointer, __x._M_start) + 0,
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 }
const value_type * const_pointer
Definition: _vector.h:123
pointer _M_allocate_and_copy(size_type &__n, const_pointer __first, const_pointer __last)
Definition: _vector.h:676
GLsizei const GLvoid * pointer
Definition: glext.h:5848
void _M_clear()
Definition: _vector.h:655
size_t size_type
Definition: _vector.h:129
GLsizeiptr size
Definition: glext.h:5919
#define _STLP_PRIV
Definition: _dm.h:70
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
Definition: _construct.h:219
#define __CONST_CAST(__x, __y)
Definition: features.h:584
size_type size() const
Definition: _vector.h:192
size_type capacity() const
Definition: _vector.h:199
_OutputIter __ucopy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
_OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type &)
Definition: _algobase.h:260

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

◆ operator[]() [1/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]); }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _vector.h:231

◆ operator[]() [2/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]); }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _vector.h:231

◆ operator[]() [3/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  }
return __n
Definition: _algo.h:75
_Base _M_non_dbg_impl
Definition: _vector.h:111
size_type size() const
Definition: _vector.h:192
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ 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 166 of file _vector.h.

166  {
167  _STLP_VERBOSE_ASSERT(__n < size(), _StlMsg_OUT_OF_BOUNDS)
168  return _M_non_dbg_impl[__n];
169  }
return __n
Definition: _algo.h:75
_Base _M_non_dbg_impl
Definition: _vector.h:111
size_type size() const
Definition: _vector.h:192
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ operator[]() [5/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); }
return __n
Definition: _algo.h:75
iterator begin()
Definition: _vector.h:182

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

◆ 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 203 of file _vector.h.

203 { return *(begin() + __n); }
return __n
Definition: _algo.h:75
iterator begin()
Definition: _vector.h:182

◆ pop_back() [1/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();}
_Base _M_impl
Definition: _vector.h:231

◆ 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  }
iterator end()
Definition: _vector.h:184
void _Invalidate_iterator(const iterator &__it)
Definition: _vector.h:126
bool empty() const
Definition: _vector.h:200
_Base _M_non_dbg_impl
Definition: _vector.h:111
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ pop_back() [3/3]

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

Definition at line 562 of file _vector.h.

562  {
563  --this->_M_finish;
564  _STLP_STD::_Destroy(this->_M_finish);
565  }
void _Destroy(_Tp *__pointer)
Definition: _construct.h:63

◆ push_back() [1/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)); }
_Base _M_impl
Definition: _vector.h:231

◆ 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 376 of file _vector.h.

376  {
377 #else
378  void push_back(const _Tp& __x) {
379 #endif
380  if (this->_M_finish != this->_M_end_of_storage._M_data) {
381  _Copy_Construct(this->_M_finish, __x);
382  ++this->_M_finish;
383  }
384  else {
386  _M_insert_overflow(this->_M_finish, __x, _TrivialCopy(), 1, true);
387  }
388  }
void _M_insert_overflow(pointer __pos, const _Tp &__x, const __false_type &, size_type __fill_len, bool __atend=false)
Definition: _vector.h:157
void _Copy_Construct(_Tp *__p, const _Tp &__val)
Definition: _construct.h:130
void push_back(const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:376

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

◆ push_back() [3/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  {
412  _Check_Overflow(1);
413  _M_non_dbg_impl.push_back(__x);
414  }
_Base _M_non_dbg_impl
Definition: _vector.h:111
void _Check_Overflow(size_type __nb)
Definition: _vector.h:131

◆ rbegin() [1/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()); }
iterator end()
Definition: _vector.h:184
#define reverse_iterator
Definition: _abbrevs.h:34

◆ rbegin() [2/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()); }
iterator end()
Definition: _vector.h:184

◆ rbegin() [3/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()); }
iterator end()
Definition: _vector.h:184
#define reverse_iterator
Definition: _abbrevs.h:34

◆ rbegin() [4/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()); }
iterator end()
Definition: _vector.h:184

◆ rbegin() [5/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()); }
iterator end()
Definition: _vector.h:184
#define reverse_iterator
Definition: _abbrevs.h:34

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

◆ rbegin() [6/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()); }
iterator end()
Definition: _vector.h:184

◆ rend() [1/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()); }
#define reverse_iterator
Definition: _abbrevs.h:34
iterator begin()
Definition: _vector.h:182

◆ rend() [2/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()); }
iterator begin()
Definition: _vector.h:182

◆ rend() [3/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()); }
#define reverse_iterator
Definition: _abbrevs.h:34
iterator begin()
Definition: _vector.h:182

◆ rend() [4/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()); }
iterator begin()
Definition: _vector.h:182

◆ rend() [5/6]

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

Definition at line 189 of file _vector.h.

189 { return reverse_iterator(begin()); }
#define reverse_iterator
Definition: _abbrevs.h:34
iterator begin()
Definition: _vector.h:182

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

◆ rend() [6/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()); }
iterator begin()
Definition: _vector.h:182

◆ reserve() [1/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);}
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _vector.h:231

◆ 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)
244  _Invalidate_all();
245  _M_non_dbg_impl.reserve(__n);
246  }
return __n
Definition: _algo.h:75
void _Invalidate_all()
Definition: _vector.h:124
_Base _M_non_dbg_impl
Definition: _vector.h:111
size_type capacity() const
Definition: _vector.h:199

◆ reserve() [3/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 }
pointer _M_allocate_and_copy(size_type &__n, const_pointer __first, const_pointer __last)
Definition: _vector.h:676
return __n
Definition: _algo.h:75
size_type max_size() const
Definition: _vector.h:193
GLsizei const GLvoid * pointer
Definition: glext.h:5848
void _M_clear()
Definition: _vector.h:655
size_t size_type
Definition: _vector.h:129
size_type size() const
Definition: _vector.h:192
size_type capacity() const
Definition: _vector.h:199
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:665

Referenced by _Locale_impl::_Locale_impl(), hashtable< _Value, _Value, _HashFcn, _UnorderedMultisetTraits, _STLP_PRIV _Identity< _Value >, _EqualKey, _Alloc >::_M_initialize_buckets(), _Locale_impl::make_classic_locale(), TArrayAsVector< KeyMap >::Reallocate(), and TArrayAsVector< KeyMap >::TArrayAsVector().

◆ resize() [1/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)); }
_Base _M_impl
Definition: _vector.h:231

◆ 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()) {
364  _Invalidate_all();
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  }
iterator end()
Definition: _vector.h:184
void resize(size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:636
void _Invalidate_all()
Definition: _vector.h:124
size_t size_type
Definition: _vector.h:129
_Base _M_non_dbg_impl
Definition: _vector.h:111
iterator begin()
Definition: _vector.h:182
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _vector.h:128
size_type size() const
Definition: _vector.h:192
size_type capacity() const
Definition: _vector.h:199

◆ resize() [3/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 636 of file _vector.h.

636  {
637 #else
638  void resize(size_type __new_size, const _Tp& __x) {
639 #endif /*_STLP_DONT_SUP_DFLT_PARAM*/
640  if (__new_size < size())
641  erase(begin() + __new_size, end());
642  else
643  insert(end(), __new_size - size(), __x);
644  }
iterator end()
Definition: _vector.h:184
void resize(size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:636
iterator insert(iterator __pos, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.c:223
size_t size_type
Definition: _vector.h:129
iterator erase(iterator __pos)
Definition: _vector.h:620
iterator begin()
Definition: _vector.h:182
size_type size() const
Definition: _vector.h:192

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

◆ size() [1/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(); }
_Base _M_impl
Definition: _vector.h:231

◆ 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(); }
_Base _M_non_dbg_impl
Definition: _vector.h:111

◆ size() [3/3]

◆ swap() [1/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); }
_Base _M_impl
Definition: _vector.h:231

◆ 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  }
_Base _M_non_dbg_impl
Definition: _vector.h:111
_STLP_PRIV __owned_list _M_iter_list
Definition: _vector.h:112

◆ swap() [3/3]

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

Definition at line 401 of file _vector.h.

401  {
402  _STLP_STD::swap(this->_M_start, __x._M_start);
403  _STLP_STD::swap(this->_M_finish, __x._M_finish);
404  this->_M_end_of_storage.swap(__x._M_end_of_storage);
405  }
#define swap(a, b)
Definition: qsort.c:63

Referenced by vector< CTestInfo >::_M_fill_assign(), and hashtable< _Value, _Value, _HashFcn, _UnorderedMultisetTraits, _STLP_PRIV _Identity< _Value >, _EqualKey, _Alloc >::swap().

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 67 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 72 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 68 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 71 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 70 of file dbghelp_private.h.

◆ shift

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

Definition at line 69 of file dbghelp_private.h.


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