MySQL 8.3.0
Source Code Documentation
OverflowBitsetBitsIn< N, Combine >::iterator Class Reference

#include <overflow_bitset.h>

Public Types

using iterator_category = std::forward_iterator_tag
 
using difference_type = size_t
 
using value_type = size_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

 iterator (uint64_t state, const Combine *combine)
 
 iterator (const std::array< const uint64_t *, N > begin, const uint64_t *end, const Combine *combine)
 
bool operator== (const iterator &other) const
 
bool operator!= (const iterator &other) const
 
size_t operator* () const
 
iteratoroperator++ ()
 

Private Attributes

const Combine * m_combine
 
uint64_t m_state
 
std::array< const uint64_t *, N > m_next
 
const uint64_t *const m_end
 
int m_base
 

Member Typedef Documentation

◆ difference_type

template<size_t N, class Combine >
using OverflowBitsetBitsIn< N, Combine >::iterator::difference_type = size_t

◆ iterator_category

template<size_t N, class Combine >
using OverflowBitsetBitsIn< N, Combine >::iterator::iterator_category = std::forward_iterator_tag

◆ pointer

template<size_t N, class Combine >
using OverflowBitsetBitsIn< N, Combine >::iterator::pointer = value_type *

◆ reference

template<size_t N, class Combine >
using OverflowBitsetBitsIn< N, Combine >::iterator::reference = value_type &

◆ value_type

template<size_t N, class Combine >
using OverflowBitsetBitsIn< N, Combine >::iterator::value_type = size_t

Constructor & Destructor Documentation

◆ iterator() [1/2]

template<size_t N, class Combine >
OverflowBitsetBitsIn< N, Combine >::iterator::iterator ( uint64_t  state,
const Combine *  combine 
)
inline

◆ iterator() [2/2]

template<size_t N, class Combine >
OverflowBitsetBitsIn< N, Combine >::iterator::iterator ( const std::array< const uint64_t *, N >  begin,
const uint64_t *  end,
const Combine *  combine 
)
inline

Member Function Documentation

◆ operator!=()

template<size_t N, class Combine >
bool OverflowBitsetBitsIn< N, Combine >::iterator::operator!= ( const iterator other) const
inline

◆ operator*()

template<size_t N, class Combine >
size_t OverflowBitsetBitsIn< N, Combine >::iterator::operator* ( ) const
inline

◆ operator++()

template<size_t N, class Combine >
iterator & OverflowBitsetBitsIn< N, Combine >::iterator::operator++ ( )
inline

◆ operator==()

template<size_t N, class Combine >
bool OverflowBitsetBitsIn< N, Combine >::iterator::operator== ( const iterator other) const
inline

Member Data Documentation

◆ m_base

template<size_t N, class Combine >
int OverflowBitsetBitsIn< N, Combine >::iterator::m_base
private

◆ m_combine

template<size_t N, class Combine >
const Combine* OverflowBitsetBitsIn< N, Combine >::iterator::m_combine
private

◆ m_end

template<size_t N, class Combine >
const uint64_t* const OverflowBitsetBitsIn< N, Combine >::iterator::m_end
private

◆ m_next

template<size_t N, class Combine >
std::array<const uint64_t *, N> OverflowBitsetBitsIn< N, Combine >::iterator::m_next
private

◆ m_state

template<size_t N, class Combine >
uint64_t OverflowBitsetBitsIn< N, Combine >::iterator::m_state
private

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