sparrow 2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow::bitset_iterator< B, is_const > Class Template Reference

Iterator used to iterate over the bits of a dynamic bitset as if they were addressable values. More...

#include <bitset_iterator.hpp>

Inheritance diagram for sparrow::bitset_iterator< B, is_const >:
[legend]
Collaboration diagram for sparrow::bitset_iterator< B, is_const >:
[legend]

Public Types

using self_type = bitset_iterator<B, is_const>
 
using base_type
 
using reference = typename base_type::reference
 
using difference_type = typename base_type::difference_type
 
using block_type = mpl::constify_t<typename B::block_type, is_const>
 
using bitset_type = mpl::constify_t<B, is_const>
 
using size_type = typename B::size_type
 
- Public Types inherited from sparrow::pointer_index_iterator_base< bitset_iterator< B, is_const >, mpl::constify_t< B, is_const >, mpl::constify_t< B::value_type, is_const >, std::conditional_t< is_const, bool, bitset_reference< B > >, std::random_access_iterator_tag >
using size_type
 
using difference_type
 

Public Member Functions

constexpr bitset_iterator () noexcept=default
 
constexpr bitset_iterator (bitset_type *bitset, size_type index)
 

Friends

class iterator_access
 

Additional Inherited Members

- Protected Member Functions inherited from sparrow::pointer_index_iterator_base< bitset_iterator< B, is_const >, mpl::constify_t< B, is_const >, mpl::constify_t< B::value_type, is_const >, std::conditional_t< is_const, bool, bitset_reference< B > >, std::random_access_iterator_tag >
constexpr pointer_index_iterator_base () noexcept=default
 
constexpr pointer_index_iterator_base (mpl::constify_t< B, is_const > *p, std::size_t idx) noexcept
 
constexpr void increment () noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr void decrement () noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr void advance (std::ptrdiff_t n) noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr std::ptrdiff_t distance_to (const bitset_iterator< B, is_const > &rhs) const noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr bool equal (const bitset_iterator< B, is_const > &rhs) const noexcept
 
constexpr bool less_than (const bitset_iterator< B, is_const > &rhs) const noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
- Protected Attributes inherited from sparrow::pointer_index_iterator_base< bitset_iterator< B, is_const >, mpl::constify_t< B, is_const >, mpl::constify_t< B::value_type, is_const >, std::conditional_t< is_const, bool, bitset_reference< B > >, std::random_access_iterator_tag >
mpl::constify_t< B, is_const > * p_object
 
std::size_t m_index
 

Detailed Description

template<class B, bool is_const>
class sparrow::bitset_iterator< B, is_const >

Iterator used to iterate over the bits of a dynamic bitset as if they were addressable values.

Template Parameters
Bthe dynamic bitset this iterator operates on
is_consta boolean indicating whether this is a const iterator.

Definition at line 37 of file bitset_iterator.hpp.

Member Typedef Documentation

◆ base_type

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::base_type
Initial value:
std::conditional_t<is_const, bool, bitset_reference<B>>,
std::random_access_iterator_tag>
bitset_iterator< B, is_const > self_type
typename constify< T, is_const >::type constify_t
Convenience alias for constify.
Definition mp_utils.hpp:807

Definition at line 47 of file bitset_iterator.hpp.

◆ bitset_type

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::bitset_type = mpl::constify_t<B, is_const>

Definition at line 57 of file bitset_iterator.hpp.

◆ block_type

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::block_type = mpl::constify_t<typename B::block_type, is_const>

Definition at line 56 of file bitset_iterator.hpp.

◆ difference_type

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::difference_type = typename base_type::difference_type

Definition at line 54 of file bitset_iterator.hpp.

◆ reference

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::reference = typename base_type::reference

Definition at line 53 of file bitset_iterator.hpp.

◆ self_type

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::self_type = bitset_iterator<B, is_const>

Definition at line 46 of file bitset_iterator.hpp.

◆ size_type

template<class B, bool is_const>
using sparrow::bitset_iterator< B, is_const >::size_type = typename B::size_type

Definition at line 58 of file bitset_iterator.hpp.

Constructor & Destructor Documentation

◆ bitset_iterator() [1/2]

template<class B, bool is_const>
sparrow::bitset_iterator< B, is_const >::bitset_iterator ( )
constexprdefaultnoexcept
Here is the caller graph for this function:

◆ bitset_iterator() [2/2]

template<class B, bool is_const>
sparrow::bitset_iterator< B, is_const >::bitset_iterator ( bitset_type * bitset,
size_type index )
constexpr

Definition at line 72 of file bitset_iterator.hpp.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ iterator_access

template<class B, bool is_const>
friend class iterator_access
friend

Definition at line 68 of file bitset_iterator.hpp.


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