ReactOS 0.4.15-dev-7953-g1f49173
_Bit_iter< _Ref, _Ptr > Struct Template Reference

#include <_bvector.h>

Inheritance diagram for _Bit_iter< _Ref, _Ptr >:
Collaboration diagram for _Bit_iter< _Ref, _Ptr >:

Public Types

typedef _Ref reference
 
typedef _Ptr pointer
 
typedef _Bit_iter< _Ref, _Ptr > _Self
 
typedef random_access_iterator_tag iterator_category
 
typedef bool value_type
 
typedef ptrdiff_t difference_type
 
typedef size_t size_type
 
- Public Types inherited from _Bit_iterator_base
typedef ptrdiff_t difference_type
 

Public Member Functions

 _Bit_iter (unsigned int *__x, unsigned int __y)
 
 _Bit_iter ()
 
 _Bit_iter (const _Bit_iter< _Bit_reference, _Bit_reference * > &__x)
 
reference operator* () const
 
_Selfoperator++ ()
 
_Self operator++ (int)
 
_Selfoperator-- ()
 
_Self operator-- (int)
 
_Selfoperator+= (difference_type __i)
 
_Selfoperator-= (difference_type __i)
 
_Self operator+ (difference_type __i) const
 
_Self operator- (difference_type __i) const
 
difference_type operator- (const _Self &__x) const
 
reference operator[] (difference_type __i)
 
- Public Member Functions inherited from _Bit_iterator_base
void _M_bump_up ()
 
void _M_bump_down ()
 
 _Bit_iterator_base ()
 
 _Bit_iterator_base (unsigned int *__x, unsigned int __y)
 
void _M_advance (difference_type __i)
 
difference_type _M_subtract (const _Bit_iterator_base &__x) const
 

Additional Inherited Members

- Public Attributes inherited from _Bit_iterator_base
unsigned int_M_p
 
unsigned int _M_offset
 

Detailed Description

template<class _Ref, class _Ptr>
struct _Bit_iter< _Ref, _Ptr >

Definition at line 169 of file _bvector.h.

Member Typedef Documentation

◆ _Self

template<class _Ref , class _Ptr >
typedef _Bit_iter<_Ref, _Ptr> _Bit_iter< _Ref, _Ptr >::_Self

Definition at line 172 of file _bvector.h.

◆ difference_type

template<class _Ref , class _Ptr >
typedef ptrdiff_t _Bit_iter< _Ref, _Ptr >::difference_type

Definition at line 175 of file _bvector.h.

◆ iterator_category

template<class _Ref , class _Ptr >
typedef random_access_iterator_tag _Bit_iter< _Ref, _Ptr >::iterator_category

Definition at line 173 of file _bvector.h.

◆ pointer

template<class _Ref , class _Ptr >
typedef _Ptr _Bit_iter< _Ref, _Ptr >::pointer

Definition at line 171 of file _bvector.h.

◆ reference

template<class _Ref , class _Ptr >
typedef _Ref _Bit_iter< _Ref, _Ptr >::reference

Definition at line 170 of file _bvector.h.

◆ size_type

template<class _Ref , class _Ptr >
typedef size_t _Bit_iter< _Ref, _Ptr >::size_type

Definition at line 176 of file _bvector.h.

◆ value_type

template<class _Ref , class _Ptr >
typedef bool _Bit_iter< _Ref, _Ptr >::value_type

Definition at line 174 of file _bvector.h.

Constructor & Destructor Documentation

◆ _Bit_iter() [1/3]

template<class _Ref , class _Ptr >
_Bit_iter< _Ref, _Ptr >::_Bit_iter ( unsigned int __x,
unsigned int  __y 
)
inline

Definition at line 178 of file _bvector.h.

178: _Bit_iterator_base(__x, __y) {}

◆ _Bit_iter() [2/3]

template<class _Ref , class _Ptr >
_Bit_iter< _Ref, _Ptr >::_Bit_iter ( )
inline

Definition at line 179 of file _bvector.h.

179{}

◆ _Bit_iter() [3/3]

template<class _Ref , class _Ptr >
_Bit_iter< _Ref, _Ptr >::_Bit_iter ( const _Bit_iter< _Bit_reference, _Bit_reference * > &  __x)
inline

Definition at line 181 of file _bvector.h.

Member Function Documentation

◆ operator*()

template<class _Ref , class _Ptr >
reference _Bit_iter< _Ref, _Ptr >::operator* ( ) const
inline

Definition at line 187 of file _bvector.h.

187 {
188 return _Bit_reference(_M_p, 1UL << _M_offset);
189 }
unsigned int * _M_p
Definition: _bvector.h:106
unsigned int _M_offset
Definition: _bvector.h:107

◆ operator+()

template<class _Ref , class _Ptr >
_Self _Bit_iter< _Ref, _Ptr >::operator+ ( difference_type  __i) const
inline

Definition at line 216 of file _bvector.h.

216 {
217 _Self __tmp = *this;
218 return __tmp += __i;
219 }
_Bit_iter< _Ref, _Ptr > _Self
Definition: _bvector.h:172

◆ operator++() [1/2]

template<class _Ref , class _Ptr >
_Self & _Bit_iter< _Ref, _Ptr >::operator++ ( )
inline

Definition at line 190 of file _bvector.h.

190 {
191 _M_bump_up();
192 return *this;
193 }

◆ operator++() [2/2]

template<class _Ref , class _Ptr >
_Self _Bit_iter< _Ref, _Ptr >::operator++ ( int  )
inline

Definition at line 194 of file _bvector.h.

194 {
195 _Self __tmp = *this;
196 _M_bump_up();
197 return __tmp;
198 }

◆ operator+=()

template<class _Ref , class _Ptr >
_Self & _Bit_iter< _Ref, _Ptr >::operator+= ( difference_type  __i)
inline

Definition at line 208 of file _bvector.h.

208 {
209 _M_advance(__i);
210 return *this;
211 }
void _M_advance(difference_type __i)
Definition: _bvector.h:131

◆ operator-() [1/2]

template<class _Ref , class _Ptr >
difference_type _Bit_iter< _Ref, _Ptr >::operator- ( const _Self __x) const
inline

Definition at line 224 of file _bvector.h.

224 {
225 return _M_subtract(__x);
226 }
difference_type _M_subtract(const _Bit_iterator_base &__x) const
Definition: _bvector.h:142

◆ operator-() [2/2]

template<class _Ref , class _Ptr >
_Self _Bit_iter< _Ref, _Ptr >::operator- ( difference_type  __i) const
inline

Definition at line 220 of file _bvector.h.

220 {
221 _Self __tmp = *this;
222 return __tmp -= __i;
223 }

◆ operator--() [1/2]

template<class _Ref , class _Ptr >
_Self & _Bit_iter< _Ref, _Ptr >::operator-- ( )
inline

Definition at line 199 of file _bvector.h.

199 {
200 _M_bump_down();
201 return *this;
202 }
void _M_bump_down()
Definition: _bvector.h:116

◆ operator--() [2/2]

template<class _Ref , class _Ptr >
_Self _Bit_iter< _Ref, _Ptr >::operator-- ( int  )
inline

Definition at line 203 of file _bvector.h.

203 {
204 _Self __tmp = *this;
205 _M_bump_down();
206 return __tmp;
207 }

◆ operator-=()

template<class _Ref , class _Ptr >
_Self & _Bit_iter< _Ref, _Ptr >::operator-= ( difference_type  __i)
inline

Definition at line 212 of file _bvector.h.

212 {
213 *this += -__i;
214 return *this;
215 }

◆ operator[]()

template<class _Ref , class _Ptr >
reference _Bit_iter< _Ref, _Ptr >::operator[] ( difference_type  __i)
inline

Definition at line 227 of file _bvector.h.

227{ return *(*this + __i); }

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