STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Public Attributes | List of all members
_Vb_iter_base< _Alloc > Class Template Reference
Inheritance diagram for _Vb_iter_base< _Alloc >:
_Iterator012< random_access_iterator_tag, bool, _Alloc::difference_type, bool *, bool, _Iterator_base > _Iterator_base0 _Vb_const_iterator< _Alloc > _Vb_reference< _Alloc > _Vb_iterator< _Alloc >

Public Types

typedef _Alloc::size_type _Sizet
 
typedef vector< bool, _Alloc > _Mycont
 
- Public Types inherited from _Iterator012< random_access_iterator_tag, bool, _Alloc::difference_type, bool *, bool, _Iterator_base >
typedef random_access_iterator_tag iterator_category
 
typedef bool value_type
 
typedef _Alloc::difference_type difference_type
 
typedef boolpointer
 
typedef bool reference
 

Public Member Functions

 _Vb_iter_base ()
 
 _Vb_iter_base (const _Vbase *_Ptr, _Sizet _Off, const _Container_base *_Mypvbool)
 
void _Advance (_Sizet _Off)
 
int _Valid (_Sizet _Inc) const
 
- Public Member Functions inherited from _Iterator_base0
void _Adopt (const void *)
 
const _Container_base0_Getcont () const
 

Public Attributes

const _Vbase_Myptr
 
_Sizet _Myoff
 

Member Typedef Documentation

template<class _Alloc >
typedef vector<bool, _Alloc> _Vb_iter_base< _Alloc >::_Mycont
template<class _Alloc >
typedef _Alloc::size_type _Vb_iter_base< _Alloc >::_Sizet

Constructor & Destructor Documentation

template<class _Alloc >
_Vb_iter_base< _Alloc >::_Vb_iter_base ( )
inline
2080  : _Myptr(0), _Myoff(0)
2081  { // construct with null pointer
2082  }
const _Vbase * _Myptr
Definition: vector:2114
_Sizet _Myoff
Definition: vector:2115
template<class _Alloc >
_Vb_iter_base< _Alloc >::_Vb_iter_base ( const _Vbase _Ptr,
_Sizet  _Off,
const _Container_base _Mypvbool 
)
inline
2086  : _Myptr(_Ptr), _Myoff(_Off)
2087  { // construct with offset and pointer
2088  this->_Adopt(_Mypvbool);
2089  }
const _Vbase * _Myptr
Definition: vector:2114
void _Adopt(const void *)
Definition: xutility:73
_Sizet _Myoff
Definition: vector:2115

Member Function Documentation

template<class _Alloc >
void _Vb_iter_base< _Alloc >::_Advance ( _Sizet  _Off)
inline
2092  { // advance iterator by _Off
2093  _Myoff += _Off;
2094  _Myptr += _Myoff / _VBITS;
2095  _Myoff %= _VBITS;
2096  }
const _Vbase * _Myptr
Definition: vector:2114
const int _VBITS
Definition: vector:2063
_Sizet _Myoff
Definition: vector:2115
template<class _Alloc >
int _Vb_iter_base< _Alloc >::_Valid ( _Sizet  _Inc) const
inline
2099  { // test for valid incremented offset
2100  #if _ITERATOR_DEBUG_LEVEL == 2
2101  const auto _Cont = static_cast<const _Mycont *>(this->_Getcont());
2102  _Sizet _Mysize = _Cont->_Mysize;
2103 
2104  _Inc += _Myoff;
2105  _Inc += _VBITS * (_Myptr - _Cont->_Myvec.data());
2106  return (_Inc < _Mysize ? -1 : _Inc == _Mysize ? 0 : +1);
2107 
2108  #else /* _ITERATOR_DEBUG_LEVEL == 2 */
2109  (void)_Inc;
2110  return (-1);
2111  #endif /* _ITERATOR_DEBUG_LEVEL == 2 */
2112  }
_Alloc::size_type _Sizet
Definition: vector:2076
const _Container_base0 * _Getcont() const
Definition: xutility:77
vector< bool, _Alloc > _Mycont
Definition: vector:2077
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *terminate_handler)()
const _Vbase * _Myptr
Definition: vector:2114
const int _VBITS
Definition: vector:2063
_Sizet _Myoff
Definition: vector:2115

Member Data Documentation

template<class _Alloc >
_Sizet _Vb_iter_base< _Alloc >::_Myoff
template<class _Alloc >
const _Vbase* _Vb_iter_base< _Alloc >::_Myptr

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