36 template <
class B,
bool is_const>
38 bitset_iterator<B, is_const>,
39 mpl::constify_t<B, is_const>,
40 mpl::constify_t<typename B::value_type, is_const>,
41 std::conditional_t<is_const, bool, bitset_reference<B>>,
42 std::random_access_iterator_tag>
51 std::conditional_t<is_const, bool, bitset_reference<B>>,
52 std::random_access_iterator_tag>;
65 constexpr
reference dereference() const noexcept;
71 template <class B,
bool is_const>
77 template <
class B,
bool is_const>
78 constexpr auto bitset_iterator<B, is_const>::dereference() const noexcept ->
reference
80 if constexpr (is_const)
90 template <
class B,
bool is_const>
typename base_type::reference reference
constexpr bitset_iterator() noexcept=default
mpl::constify_t< B, is_const > bitset_type
mpl::constify_t< typename B::block_type, is_const > block_type
typename B::size_type size_type
bitset_iterator< B, is_const > self_type
pointer_index_iterator_base< self_type, mpl::constify_t< B, is_const >, mpl::constify_t< typename B::value_type, is_const >, std::conditional_t< is_const, bool, bitset_reference< B > >, std::random_access_iterator_tag > base_type
friend class iterator_access
typename base_type::difference_type difference_type
A proxy reference class that provides mutable access to individual bits in a bitset.
constexpr pointer_index_iterator_base() noexcept=default
std::ptrdiff_t difference_type
mpl::constify_t< B, is_const > * p_object
typename constify< T, is_const >::type constify_t
Convenience alias for constify.