STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Macros | Typedefs | Functions | Variables
vector File Reference
#include <xmemory>
#include <stdexcept>

Classes

class  _Vector_const_iterator< _Myvec >
 
class  _Vector_iterator< _Myvec >
 
struct  _Vec_iter_types< _Value_type, _Size_type, _Difference_type, _Pointer, _Const_pointer, _Reference, _Const_reference >
 
struct  _Vec_base_types< _Ty, _Alloc0 >
 
class  _Vector_val< _Val_types >
 
class  _Vector_alloc< _Alloc_types >
 
class  vector< _Ty, _Alloc >
 
class  _Vb_iter_base< _Alloc >
 
class  _Vb_reference< _Alloc >
 
class  _Vb_const_iterator< _Alloc >
 
struct  _Is_checked_helper< _Vb_const_iterator< _Alloc > >
 
class  _Vb_iterator< _Alloc >
 
struct  _Is_checked_helper< _Vb_iterator< _Alloc > >
 
class  _Vb_val< _Alloc >
 
class  vector< bool, _Alloc >
 
struct  hash< vector< bool, _Alloc > >
 

Macros

#define _VECTOR_
 

Typedefs

typedef unsigned int _Vbase
 

Functions

template<class _Myvec >
_Vector_const_iterator< _Myvec >::_Unchecked_type _Unchecked (_Vector_const_iterator< _Myvec > _Iter)
 
template<class _Myvec >
_Vector_const_iterator< _Myvec > & _Rechecked (_Vector_const_iterator< _Myvec > &_Iter, typename _Vector_const_iterator< _Myvec >::_Unchecked_type _Right)
 
template<class _Myvec >
_Vector_const_iterator< _Myvec > operator+ (typename _Vector_const_iterator< _Myvec >::difference_type _Off, _Vector_const_iterator< _Myvec > _Next)
 
template<class _Myvec >
_Vector_iterator< _Myvec >::_Unchecked_type _Unchecked (_Vector_iterator< _Myvec > _Iter)
 
template<class _Myvec >
_Vector_iterator< _Myvec > & _Rechecked (_Vector_iterator< _Myvec > &_Iter, typename _Vector_iterator< _Myvec >::_Unchecked_type _Right)
 
template<class _Myvec >
_Vector_iterator< _Myvec > operator+ (typename _Vector_iterator< _Myvec >::difference_type _Off, _Vector_iterator< _Myvec > _Next)
 
template<class _Ptrty >
auto _Unfancy_maybe_null (_Ptrty _Ptr)
 
template<class _Ty >
_Ty * _Unfancy_maybe_null (_Ty *_Ptr)
 
template<class _Ty , class _Alloc >
void swap (vector< _Ty, _Alloc > &_Left, vector< _Ty, _Alloc > &_Right) _NOEXCEPT_OP(_NOEXCEPT_OP(_Left.swap(_Right)))
 
template<class _Ty , class _Alloc >
bool operator== (const vector< _Ty, _Alloc > &_Left, const vector< _Ty, _Alloc > &_Right)
 
template<class _Ty , class _Alloc >
bool operator!= (const vector< _Ty, _Alloc > &_Left, const vector< _Ty, _Alloc > &_Right)
 
template<class _Ty , class _Alloc >
bool operator< (const vector< _Ty, _Alloc > &_Left, const vector< _Ty, _Alloc > &_Right)
 
template<class _Ty , class _Alloc >
bool operator> (const vector< _Ty, _Alloc > &_Left, const vector< _Ty, _Alloc > &_Right)
 
template<class _Ty , class _Alloc >
bool operator<= (const vector< _Ty, _Alloc > &_Left, const vector< _Ty, _Alloc > &_Right)
 
template<class _Ty , class _Alloc >
bool operator>= (const vector< _Ty, _Alloc > &_Left, const vector< _Ty, _Alloc > &_Right)
 
template<class _Alloc >
void swap (_Vb_reference< _Alloc > _Left, _Vb_reference< _Alloc > _Right)
 
template<class _Alloc >
_Vb_const_iterator< _Alloc > operator+ (typename _Alloc::difference_type _Off, _Vb_const_iterator< _Alloc > _Right)
 
template<class _Alloc >
_Vb_iterator< _Alloc > operator+ (typename _Alloc::difference_type _Off, _Vb_iterator< _Alloc > _Right)
 
template<class _Alloc >
bool operator== (const vector< bool, _Alloc > &_Left, const vector< bool, _Alloc > &_Right)
 
template<class _Alloc >
bool operator!= (const vector< bool, _Alloc > &_Left, const vector< bool, _Alloc > &_Right)
 

Variables

const int _VBITS = 8 * sizeof (_Vbase)
 

Macro Definition Documentation

#define _VECTOR_

Typedef Documentation

typedef unsigned int _Vbase

Function Documentation

template<class _Myvec >
_Vector_const_iterator<_Myvec>& _Rechecked ( _Vector_const_iterator< _Myvec > &  _Iter,
typename _Vector_const_iterator< _Myvec >::_Unchecked_type  _Right 
)
inline
271  { // convert to checked
272  return (_Iter._Rechecked(_Right));
273  }
_Myiter & _Rechecked(_Unchecked_type _Right)
Definition: vector:49
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Myvec >
_Vector_iterator<_Myvec>& _Rechecked ( _Vector_iterator< _Myvec > &  _Iter,
typename _Vector_iterator< _Myvec >::_Unchecked_type  _Right 
)
inline
402  { // convert to checked
403  return (_Iter._Rechecked(_Right));
404  }
_Myiter & _Rechecked(_Unchecked_type _Right)
Definition: vector:309
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Myvec >
_Vector_const_iterator<_Myvec>::_Unchecked_type _Unchecked ( _Vector_const_iterator< _Myvec >  _Iter)
inline
262  { // convert to unchecked
263  return (_Iter._Unchecked());
264  }
_Unchecked_type _Unchecked() const
Definition: vector:55
template<class _Myvec >
_Vector_iterator<_Myvec>::_Unchecked_type _Unchecked ( _Vector_iterator< _Myvec >  _Iter)
inline
393  { // convert to unchecked
394  return (_Iter._Unchecked());
395  }
_Unchecked_type _Unchecked() const
Definition: vector:315
template<class _Ptrty >
auto _Unfancy_maybe_null ( _Ptrty  _Ptr)
inline
686  { // converts from a (potentially null) fancy pointer to a plain pointer
687  return (_Ptr ? _STD addressof(*_Ptr) : nullptr_t{});
688  }
_STD_BEGIN constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:628
template<class _Ty >
_Ty* _Unfancy_maybe_null ( _Ty *  _Ptr)
inline
692  { // do nothing for plain pointers
693  return (_Ptr);
694  }
template<class _Ty , class _Alloc >
bool operator!= ( const vector< _Ty, _Alloc > &  _Left,
const vector< _Ty, _Alloc > &  _Right 
)
inline
2022  { // test for vector inequality
2023  return (!(_Left == _Right));
2024  }
template<class _Alloc >
bool operator!= ( const vector< bool, _Alloc > &  _Left,
const vector< bool, _Alloc > &  _Right 
)
inline
3254  { // test for vector inequality
3255  return (!(_Left == _Right));
3256  }
template<class _Myvec >
_Vector_const_iterator<_Myvec> operator+ ( typename _Vector_const_iterator< _Myvec >::difference_type  _Off,
_Vector_const_iterator< _Myvec >  _Next 
)
inline
279  { // add offset to iterator
280  return (_Next += _Off);
281  }
template<class _Myvec >
_Vector_iterator<_Myvec> operator+ ( typename _Vector_iterator< _Myvec >::difference_type  _Off,
_Vector_iterator< _Myvec >  _Next 
)
inline
410  { // add offset to iterator
411  return (_Next += _Off);
412  }
template<class _Alloc >
_Vb_const_iterator<_Alloc> operator+ ( typename _Alloc::difference_type  _Off,
_Vb_const_iterator< _Alloc >  _Right 
)
inline
2406  { // return _Right + integer
2407  return (_Right += _Off);
2408  }
template<class _Alloc >
_Vb_iterator<_Alloc> operator+ ( typename _Alloc::difference_type  _Off,
_Vb_iterator< _Alloc >  _Right 
)
inline
2512  { // return _Right + integer
2513  return (_Right += _Off);
2514  }
template<class _Ty , class _Alloc >
bool operator< ( const vector< _Ty, _Alloc > &  _Left,
const vector< _Ty, _Alloc > &  _Right 
)
inline
2030  { // test if _Left < _Right for vectors
2031  return (_STD lexicographical_compare(_Left.begin(), _Left.end(),
2032  _Right.begin(), _Right.end()));
2033  }
iterator begin() _NOEXCEPT
Definition: vector:1643
iterator end() _NOEXCEPT
Definition: vector:1653
bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _InIt2 _Last2)
Definition: memory:830
template<class _Ty , class _Alloc >
bool operator<= ( const vector< _Ty, _Alloc > &  _Left,
const vector< _Ty, _Alloc > &  _Right 
)
inline
2047  { // test if _Left <= _Right for vectors
2048  return (!(_Right < _Left));
2049  }
template<class _Ty , class _Alloc >
bool operator== ( const vector< _Ty, _Alloc > &  _Left,
const vector< _Ty, _Alloc > &  _Right 
)
inline
2013  { // test for vector equality
2014  return (_Left.size() == _Right.size()
2015  && _STD equal(_Left.begin(), _Left.end(), _Right.begin()));
2016  }
iterator begin() _NOEXCEPT
Definition: vector:1643
size_type size() const _NOEXCEPT
Definition: vector:1708
iterator end() _NOEXCEPT
Definition: vector:1653
bool equal(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2)
Definition: memory:611
template<class _Alloc >
bool operator== ( const vector< bool, _Alloc > &  _Left,
const vector< bool, _Alloc > &  _Right 
)
inline
3245  { // test for vector equality
3246  return (_Left.size() == _Right.size()
3247  && _STD equal(_Left._Myvec.begin(), _Left._Myvec.end(),
3248  _Right._Myvec.begin()));
3249  }
iterator begin() _NOEXCEPT
Definition: vector:1643
_Vectype _Myvec
Definition: vector:2616
iterator end() _NOEXCEPT
Definition: vector:1653
bool equal(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2)
Definition: memory:611
size_type size() const _NOEXCEPT
Definition: vector:2916
template<class _Ty , class _Alloc >
bool operator> ( const vector< _Ty, _Alloc > &  _Left,
const vector< _Ty, _Alloc > &  _Right 
)
inline
2039  { // test if _Left > _Right for vectors
2040  return (_Right < _Left);
2041  }
template<class _Ty , class _Alloc >
bool operator>= ( const vector< _Ty, _Alloc > &  _Left,
const vector< _Ty, _Alloc > &  _Right 
)
inline
2055  { // test if _Left >= _Right for vectors
2056  return (!(_Left < _Right));
2057  }
template<class _Ty , class _Alloc >
void swap ( vector< _Ty, _Alloc > &  _Left,
vector< _Ty, _Alloc > &  _Right 
)
inline
2005  { // swap _Left and _Right vectors
2006  _Left.swap(_Right);
2007  }
void swap(vector &_Right) _NOEXCEPT_OP(_Alty
Definition: vector:1620
template<class _Alloc >
void swap ( _Vb_reference< _Alloc >  _Left,
_Vb_reference< _Alloc >  _Right 
)
inline
2188  { // swap _Left and _Right vector<bool> elements
2189  bool _Val = _Left; // NOT _STD swap
2190  _Left = _Right;
2191  _Right = _Val;
2192  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_FwdIt const _Ty _Val
Definition: algorithm:1938
constexpr const _Ty &() _Right
Definition: algorithm:3723

Variable Documentation

const int _VBITS = 8 * sizeof (_Vbase)