ReactOS  0.4.14-dev-554-g2f8d847
vector< _Tp, > Class Template Reference

#include <dbghelp_private.h>

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

Public Types

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

Public Member Functions

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

Public Attributes

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

Private Types

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

Private Member Functions

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

Private Attributes

_Base _M_non_dbg_impl
 
_STLP_PRIV __owned_list _M_iter_list
 
_Base _M_impl
 

Detailed Description

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

Definition at line 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 217 of file _vector.h.

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

◆ vector() [2/17]

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

Definition at line 233 of file _vector.h.

235  { _M_initialize(__n); }
return __n
Definition: _algo.h:75
#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:230

◆ vector() [3/17]

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

Definition at line 236 of file _vector.h.

240  { this->_M_finish = _STLP_PRIV __uninitialized_init(this->_M_start, __n, _STLP_DEFAULT_CONSTRUCTED(_Tp)); }
241  vector(size_type __n, const _Tp& __val)
243  { this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_start, __n, __val); }
244  vector(size_type __n, const _Tp& __val, const allocator_type& __a)
245 #endif
247  { this->_M_finish = _STLP_PRIV __uninitialized_fill_n(this->_M_start, __n, __val); }
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:217
#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 249 of file _vector.h.

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

258  {}
#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 297 of file _vector.h.

299  : _STLP_PRIV _Vector_base<_Tp, _Alloc>(__last - __first, __a) {
301  this->_M_finish = _STLP_PRIV __ucopy_ptrs(__first, __last, this->_M_start, _TrivialUCopy());
302  }
_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 307 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 679 of file _vector.h.

682  {
683  pointer __result = this->_M_end_of_storage.allocate(__n, __n);
684  _STLP_TRY {
685  uninitialized_copy(__first, __last, __result);
686  return __result;
687  }
688  _STLP_UNWIND(this->_M_end_of_storage.deallocate(__result, __n))
689  _STLP_RET_AFTER_THROW(__result)
690  }
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 658 of file _vector.h.

658  {
660  this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start);
661  }
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 663 of file _vector.h.

663  {
665  this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start);
666  }
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 571 of file _vector.h.

571  {
572  _STLP_STD::_Destroy(__pos);
573  iterator __dst = __pos, __src = __dst + 1;
574  iterator __end = end();
575  for (; __src != __end; ++__dst, ++__src) {
576  _STLP_STD::_Move_Construct(__dst, *__src);
578  }
579  this->_M_finish = __dst;
580  return __pos;
581  }
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 582 of file _vector.h.

582  {
583  if (__pos + 1 != end()) {
585  _STLP_PRIV __copy_ptrs(__pos + 1, this->_M_finish, __pos, _TrivialCopy());
586  }
587  --this->_M_finish;
588  _STLP_STD::_Destroy(this->_M_finish);
589  return __pos;
590  }
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 591 of file _vector.h.

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

614  {
616  pointer __i = _STLP_PRIV __copy_ptrs(__last, this->_M_finish, __first, _TrivialCopy());
617  _STLP_STD::_Destroy_Range(__i, this->_M_finish);
618  this->_M_finish = __i;
619  return __first;
620  }
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:623
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:418
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:418
_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 230 of file _vector.h.

231  { 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:658
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:668

◆ _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:663
#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:668

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:418

◆ _M_is_inside()

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

Definition at line 418 of file _vector.h.

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

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

457  {
458  iterator __src = this->_M_finish - 1;
459  iterator __dst = __src + __n;
460  for (; __src >= __pos; --__dst, --__src) {
461  _STLP_STD::_Move_Construct(__dst, *__src);
463  }
464  uninitialized_copy(__first, __last, __pos);
465  this->_M_finish += __n;
466  }
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 473 of file _vector.h.

476  {
479  const size_type __elems_after = this->_M_finish - __pos;
480  pointer __old_finish = this->_M_finish;
481  if (__elems_after > __n) {
482  _STLP_PRIV __ucopy_ptrs(this->_M_finish - __n, this->_M_finish, this->_M_finish, _TrivialUCopy());
483  this->_M_finish += __n;
484  _STLP_PRIV __copy_backward_ptrs(__pos, __old_finish - __n, __old_finish, _TrivialCopy());
485  copy(__first, __last, __pos);
486  }
487  else {
488 #if defined ( _STLP_MEMBER_TEMPLATES )
489  _ForwardIterator __mid = __first;
490  _STLP_STD::advance(__mid, __elems_after);
491 #else
492  const_pointer __mid = __first + __elems_after;
493 #endif
494  uninitialized_copy(__mid, __last, this->_M_finish);
495  this->_M_finish += __n - __elems_after;
496  _STLP_PRIV __ucopy_ptrs(__pos, __old_finish, this->_M_finish, _TrivialUCopy());
497  this->_M_finish += __elems_after;
498  copy(__first, __mid, __pos);
499  } /* elems_after */
500  }
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 427 of file _vector.h.

430  {
432 #if !defined (_STLP_NO_MOVE_SEMANTIC)
433  typedef typename __move_traits<_Tp>::implemented _Movable;
434 #endif
436  pointer __new_start = this->_M_end_of_storage.allocate(__len, __len);
437  pointer __new_finish = __new_start;
438  _STLP_TRY {
439  __new_finish = _STLP_PRIV __uninitialized_move(this->_M_start, __pos, __new_start, _TrivialUCopy(), _Movable());
440  __new_finish = uninitialized_copy(__first, __last, __new_finish);
441  __new_finish = _STLP_PRIV __uninitialized_move(__pos, this->_M_finish, __new_finish, _TrivialUCopy(), _Movable());
442  }
443  _STLP_UNWIND((_STLP_STD::_Destroy_Range(__new_start,__new_finish),
444  this->_M_end_of_storage.deallocate(__new_start,__len)))
446  _M_set(__new_start, __new_finish, __new_start + __len);
447  }
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:663
#define _STLP_TRY
Definition: features.h:817
void _M_set(pointer __s, pointer __f, pointer __e)
Definition: _vector.h:668

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

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

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

318 { _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 325 of file _vector.h.

325  {
326  typedef const_iterator _ForwardIter;
327 #endif
328  const size_type __len = _STLP_STD::distance(__first, __last);
329  if (__len > capacity()) {
330  size_type __n = __len;
331  iterator __tmp = _M_allocate_and_copy(__n, __first, __last);
332  _M_clear();
333  _M_set(__tmp, __tmp + __len, __tmp + __n);
334  }
335  else if (size() >= __len) {
336  iterator __new_finish = copy(__first, __last, this->_M_start);
337  _STLP_STD::_Destroy_Range(__new_finish, this->_M_finish);
338  this->_M_finish = __new_finish;
339  }
340  else {
341  _ForwardIter __mid = __first;
342  _STLP_STD::advance(__mid, size());
343  _STLP_STD::copy(__first, __mid, this->_M_start);
344  this->_M_finish = _STLP_STD::uninitialized_copy(__mid, __last, this->_M_finish);
345  }
346  }
pointer _M_allocate_and_copy(size_type &__n, const_pointer __first, const_pointer __last)
Definition: _vector.h:679
return __n
Definition: _algo.h:75
GLsizei GLsizei GLfloat distance
Definition: glext.h:11755
void _M_clear()
Definition: _vector.h:658
_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:668

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

653  {
654  erase(begin(), end());
655  }
iterator end()
Definition: _vector.h:184
iterator erase(iterator __pos)
Definition: _vector.h:623
iterator begin()
Definition: _vector.h:182

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

◆ data() [1/2]

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

Definition at line 213 of file _vector.h.

213 { return this->_M_start; }

◆ data() [2/2]

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

Definition at line 214 of file _vector.h.

214 { return this->_M_start; }

◆ empty() [1/3]

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

Definition at line 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:623
_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 623 of file _vector.h.

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

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

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

541  {
542 #endif
543 #if !defined (_STLP_NO_MOVE_SEMANTIC)
544  typedef typename __move_traits<_Tp>::implemented _Movable;
545 #endif
546  /* This method do not check self referencing.
547  * Standard forbids it, checked by the debug mode.
548  */
549  if (__first != __last) {
551 
552  if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) {
553  _M_range_insert_aux(__pos, __first, __last, __n, _Movable());
554  }
555  else {
556  _M_range_insert_realloc(__pos, __first, __last, __n);
557  }
558  }
559  }
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:427
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:454
_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 562 of file _vector.h.

563  { _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:679
GLsizei const GLvoid * pointer
Definition: glext.h:5848
void _M_clear()
Definition: _vector.h:658
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 565 of file _vector.h.

565  {
566  --this->_M_finish;
567  _STLP_STD::_Destroy(this->_M_finish);
568  }
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 379 of file _vector.h.

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

Referenced by PropertySheetDialog::add(), IDropTargetImpl::AddSuportedFormat(), DriveVolume::BuildFileList(), depend(), BtrfsChangeDriveLetter::DlgProc(), 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:679
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:658
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:668

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:639
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 639 of file _vector.h.

639  {
640 #else
641  void resize(size_type __new_size, const _Tp& __x) {
642 #endif /*_STLP_DONT_SUP_DFLT_PARAM*/
643  if (__new_size < size())
644  erase(begin() + __new_size, end());
645  else
646  insert(end(), __new_size - size(), __x);
647  }
iterator end()
Definition: _vector.h:184
void resize(size_type __new_size, const _Tp &__x=_STLP_DEFAULT_CONSTRUCTED(_Tp))
Definition: _vector.h:639
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:623
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 404 of file _vector.h.

404  {
405  _STLP_STD::swap(this->_M_start, __x._M_start);
406  _STLP_STD::swap(this->_M_finish, __x._M_finish);
407  this->_M_end_of_storage.swap(__x._M_end_of_storage);
408  }
#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: