ZXFoundation™ 26h2
Loading...
Searching...
No Matches
lib::bit_field< T, Numbering > Class Template Referenceexport

Public Types

using numbering = Numbering
using storage_type = T

Public Member Functions

constexpr bool all () const noexcept
constexpr bool any () const noexcept
constexpr bit_iterator< T, Numbering > begin () const noexcept
constexpr bit_field (T v) noexcept
constexpr bit_field & clear () noexcept
constexpr bit_field & clear (usize bit) noexcept
constexpr usize count () const noexcept
constexpr usize count (usize a, usize b) const noexcept
constexpr bit_iterator< T, Numbering > end () const noexcept
template<usize A, usize B>
constexpr T extract () const noexcept
constexpr T extract (usize a, usize b) const noexcept
constexpr bit_field & flip () noexcept
constexpr bit_field & flip (usize bit) noexcept
template<class Fn>
constexpr void for_each (Fn &&fn) const noexcept(std::is_nothrow_invocable_v< Fn &, usize, bool >)
template<class Fn>
constexpr void for_each (usize a, usize b, Fn &&fn) const noexcept(std::is_nothrow_invocable_v< Fn &, usize, bool >)
template<usize A, usize B>
constexpr bit_field & insert (T v) noexcept
constexpr bit_field & insert (usize a, usize b, T v) noexcept
constexpr bool none () const noexcept
constexpr operator T () const noexcept
constexpr auto operator[] (this auto &&self, usize a, usize b) noexcept -> std::conditional_t< std::is_const_v< std::remove_reference_t< decltype(self)> >, T, bit_range_ref< T > >
constexpr auto operator[] (this auto &&self, usize bit) noexcept -> std::conditional_t< std::is_const_v< std::remove_reference_t< decltype(self)> >, bool, bit_ref< T > >
constexpr T & raw () noexcept
constexpr bit_field rotl (unsigned n) const noexcept
constexpr bit_field rotr (unsigned n) const noexcept
constexpr bit_field & set (usize bit) noexcept
constexpr bit_field & set (usize bit, bool v) noexcept
constexpr bit_field & set_range (usize a, usize b, T v) noexcept
constexpr void swap (bit_field &other) noexcept
constexpr bool test (usize bit) const noexcept
constexpr T value () const noexcept

Static Public Member Functions

static constexpr T mask (usize a, usize b) noexcept

Static Public Attributes

static constexpr usize extent = std::numeric_limits<T>::digits

Friends

constexpr auto operator<=> (const bit_field &, const bit_field &) noexcept=default
constexpr bool operator== (const bit_field &, const bit_field &) noexcept=default

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