MeshLib
 
Loading...
Searching...
No Matches
MR::SetBitIteratorT< T > Class Template Reference

iterator to enumerate all indices with set bits in BitSet class or its derivatives More...

#include <MRBitSet.h>

Public Types

using IndexType = typename T::IndexType
 
using iterator_category = std::forward_iterator_tag
 
using value_type = IndexType
 
using difference_type = std::ptrdiff_t
 
using reference = const IndexType
 intentionally not a reference
 
using pointer = const IndexType *
 

Public Member Functions

 SetBitIteratorT ()=default
 constructs end iterator
 
 SetBitIteratorT (const T &bitset)
 constructs begin iterator
 
SetBitIteratorToperator++ ()
 
SetBitIteratorT operator++ (int)
 
const T * bitset () const
 
reference operator* () const
 

Detailed Description

template<typename T>
class MR::SetBitIteratorT< T >

iterator to enumerate all indices with set bits in BitSet class or its derivatives

Member Typedef Documentation

◆ difference_type

template<typename T >
using MR::SetBitIteratorT< T >::difference_type = std::ptrdiff_t

◆ IndexType

template<typename T >
using MR::SetBitIteratorT< T >::IndexType = typename T::IndexType

◆ iterator_category

template<typename T >
using MR::SetBitIteratorT< T >::iterator_category = std::forward_iterator_tag

◆ pointer

template<typename T >
using MR::SetBitIteratorT< T >::pointer = const IndexType *

◆ reference

template<typename T >
using MR::SetBitIteratorT< T >::reference = const IndexType

intentionally not a reference

◆ value_type

template<typename T >
using MR::SetBitIteratorT< T >::value_type = IndexType

Constructor & Destructor Documentation

◆ SetBitIteratorT() [1/2]

template<typename T >
MR::SetBitIteratorT< T >::SetBitIteratorT ( )
default

constructs end iterator

◆ SetBitIteratorT() [2/2]

template<typename T >
MR::SetBitIteratorT< T >::SetBitIteratorT ( const T & bitset)
inline

constructs begin iterator

Member Function Documentation

◆ bitset()

template<typename T >
const T * MR::SetBitIteratorT< T >::bitset ( ) const
inlinenodiscard

◆ operator*()

template<typename T >
reference MR::SetBitIteratorT< T >::operator* ( ) const
inlinenodiscard

◆ operator++() [1/2]

template<typename T >
SetBitIteratorT & MR::SetBitIteratorT< T >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T >
SetBitIteratorT MR::SetBitIteratorT< T >::operator++ ( int )
inlinenodiscard

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