|
|
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_iterator (const T *storage, usize pos) noexcept |
|
constexpr | bit_range_ref (T &storage, usize shift, usize width) noexcept |
|
constexpr | bit_ref (T &storage, usize shift) noexcept |
|
static constexpr usize | bit_shift (usize, usize n) noexcept |
|
static constexpr usize | bit_shift (usize total, usize n) noexcept |
|
constexpr | bitfield_ref (T &storage) noexcept |
|
template<bit_storage T> |
| constexpr T | lib::bitmask (usize count) noexcept |
|
constexpr const bit_field< T, Numbering > & | bits () const noexcept |
|
constexpr bit_field< T, Numbering > & | bits () noexcept |
|
constexpr bitfield_ref< T, Numbering > & | bits () noexcept |
|
constexpr const char * | c_str () const noexcept |
|
constexpr bit_field & | clear () noexcept |
|
constexpr bit_field & | clear (usize bit) noexcept |
|
constexpr bitfield_ref & | 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 |
|
template<usize A, usize B> |
| constexpr T | extract () const noexcept |
|
constexpr T | extract (usize a, usize b) const noexcept |
|
template<usize N> |
| | lib::fixed_string (const char(&)[N]) -> fixed_string< N > |
|
constexpr | fixed_string (const char(&str)[N]) noexcept |
|
constexpr bit_field & | flip () noexcept |
|
constexpr bit_field & | flip (usize bit) noexcept |
|
constexpr bit_ref & | flip () noexcept |
|
constexpr bitfield_ref & | 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 I, bit_storage T, class Numbering, class... Fields> |
| constexpr T | lib::get (const record< T, Numbering, Fields... > &r) noexcept |
|
template<usize I> |
| constexpr T | get () const noexcept |
|
template<fixed_string Name> |
| constexpr T | get () const noexcept |
|
template<usize I> |
| constexpr T | get () const noexcept |
|
template<fixed_string Name> |
| constexpr T | get () const noexcept |
|
template<fixed_string Name, class... Fs> |
| consteval usize | lib::detail::index_of_field () noexcept |
|
template<usize A, usize B> |
| constexpr bit_field & | insert (T v) noexcept |
|
constexpr bit_field & | insert (usize a, usize b, T v) noexcept |
|
template<usize A, usize B> |
| constexpr bitfield_ref & | insert (T v) noexcept |
|
constexpr bitfield_ref & | insert (usize a, usize b, T v) noexcept |
|
static constexpr T | mask (usize a, usize b) noexcept |
|
constexpr bool | none () const noexcept |
|
constexpr | operator bool () const noexcept |
|
constexpr | operator T () const noexcept |
|
constexpr | operator T () const noexcept |
|
constexpr | operator T () const noexcept |
|
constexpr bool | operator* () const noexcept |
|
constexpr bit_iterator & | operator++ () noexcept |
|
constexpr bit_iterator | operator++ (int) noexcept |
|
constexpr bit_range_ref & | operator= (const bit_range_ref &other) noexcept |
|
constexpr bit_range_ref & | operator= (T value) noexcept |
|
constexpr bit_ref & | operator= (bool v) noexcept |
|
constexpr bit_ref & | operator= (const bit_ref &other) noexcept |
|
constexpr bool | operator== (const bit_iterator &) const noexcept=default |
|
template<usize N1, usize N2> |
| constexpr bool | lib::operator== (const fixed_string< N1 > &a, const fixed_string< N2 > &b) 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 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 > > |
|
static constexpr std::pair< usize, usize > | range_shift_width (usize total, usize a, usize b) noexcept |
|
static constexpr std::pair< usize, usize > | range_shift_width (usize total, usize a, usize b) noexcept |
|
constexpr T & | raw () noexcept |
|
constexpr T & | raw () noexcept |
|
constexpr | record (T v) noexcept |
|
constexpr | record_ref (T &storage) noexcept |
|
constexpr ref_type | ref () 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 bitfield_ref & | set (usize bit) noexcept |
|
constexpr bitfield_ref & | set (usize bit, bool v) noexcept |
|
template<fixed_string Name> |
| constexpr record & | set (T v) noexcept |
|
template<fixed_string Name> |
| constexpr record_ref & | set (T v) noexcept |
|
constexpr bit_field & | set_range (usize a, usize b, T v) noexcept |
|
constexpr bitfield_ref & | set_range (usize a, usize b, T v) noexcept |
|
constexpr usize | size () const noexcept |
|
constexpr void | swap (bit_field &other) noexcept |
|
constexpr bool | test (usize bit) const noexcept |
|
constexpr bool | test (usize bit) const noexcept |
|
constexpr T | underlying () const noexcept |
|
constexpr T | underlying () const noexcept |
|
constexpr T | value () const noexcept |
|
constexpr T | value () const noexcept |
|
constexpr usize | width () const noexcept |