21 template <
class B,
bool is_const>
93 constexpr
self_type& operator=(
bool value) noexcept;
100 constexpr operator
bool() const noexcept;
108 constexpr
bool operator~() const noexcept;
142 using block_type = typename B::block_type;
143 using bitset_type = B;
144 using size_type = typename B::size_type;
161 constexpr
void assign(
bool value) noexcept;
167 constexpr
void set() noexcept;
173 constexpr
void reset() noexcept;
175 bitset_type* p_bitset;
180 requires
std::
ranges::random_access_range<
std::remove_pointer_t<RAR>>
193 template <class B1, class B2>
231 return p_bitset->test(m_index);
237 return !p_bitset->test(m_index);
265 p_bitset->set(m_index, !p_bitset->test(m_index));
278 constexpr void bitset_reference<B>::assign(
bool rhs)
noexcept
280 rhs ? set() : reset();
284 constexpr void bitset_reference<B>::set() noexcept
286 p_bitset->set(m_index,
true);
290 constexpr void bitset_reference<B>::reset() noexcept
292 p_bitset->set(m_index,
false);
295 template <
class B1,
class B2>
298 return bool(lhs) == bool(rhs);
304 return bool(lhs) == rhs;
308#if defined(__cpp_lib_format)
312struct std::formatter<
sparrow::bitset_reference<B>>
314 constexpr auto parse(std::format_parse_context& ctx)
319 auto format(
const sparrow::bitset_reference<B>& b, std::format_context& ctx)
const
322 return std::format_to(ctx.out(),
"{}", val);
Iterator used to iterate over the bits of a dynamic bitset as if they were addressable values.
A proxy reference class that provides mutable access to individual bits in a bitset.
friend class dynamic_bitset_base
constexpr bitset_reference(const bitset_reference &) noexcept=default
constexpr self_type & operator^=(bool rhs) noexcept
Bitwise XOR assignment.
bitset_reference< B > self_type
This class type for convenience.
constexpr self_type & operator|=(bool rhs) noexcept
Bitwise OR assignment.
constexpr self_type & operator&=(bool rhs) noexcept
Bitwise AND assignment.
constexpr self_type & operator=(const self_type &rhs) noexcept
Copy assignment from another bitset_reference.
constexpr bitset_reference(bitset_reference &&) noexcept=default
constexpr bool operator~() const noexcept
Bitwise NOT operator.
Concept that checks if a type is a valid null count policy.
SPARROW_API bool operator==(const array &lhs, const array &rhs)
Compares the content of two arrays.
Extensions to the C++ standard library.