|
|
using | mmio_ref_type = mmio_structure_ref<Extent, Alignment, StructEndian, FieldOrExts...> |
|
using | ref_type = structure_ref<Extent, Alignment, StructEndian, FieldOrExts...> |
|
|
constexpr auto | mmio_ref () noexcept -> mmio_ref_type |
|
constexpr auto | operator= (const structure &other) noexcept -> structure & |
|
constexpr auto | raw_ptr () const noexcept -> const u8 * |
|
constexpr auto | raw_ptr () noexcept -> u8 * |
|
constexpr auto | ref () noexcept -> ref_type |
template<class... Bindings>
requires (sizeof...(Bindings) > 0 && ((requires { Bindings::name; }) && ...)) |
| constexpr | structure (Bindings &&... bindings) noexcept |
|
constexpr | structure (const structure &other) noexcept |
|
constexpr void | apply_default_values () noexcept |
| | Materialize init<>/fixed<> default values into raw storage.
|
|
constexpr auto | as_bytes (this auto &self) noexcept -> std::span< u8, extent > |
|
constexpr decltype(auto) | get (this auto &&self) noexcept |
|
constexpr decltype(auto) | operator[] (this auto &&self, field_tag< Name >) noexcept |
|
constexpr auto | raw_read (this const auto &self, usize byte_offset) noexcept -> T |
|
constexpr auto | raw_write (this auto &&self, usize byte_offset, T val) noexcept -> void |
|
constexpr decltype(auto) | set (this auto &&self, ValT &&val) noexcept |
|
constexpr auto | try_raw_read (this const auto &self, usize byte_offset) noexcept -> std::expected< T, kernel_error > |
|
constexpr auto | try_raw_write (this auto &&self, usize byte_offset, T val) noexcept -> std::expected< void, kernel_error > |
|
|
template<fixed_string... FieldNames, class... Values> |
| static constexpr auto | make (Values &&... vals) noexcept -> structure |
|
static consteval auto | offset_of () noexcept -> usize |
|
static consteval auto | size_of () noexcept -> usize |
|
|
static constexpr usize | alignment |
|
static constexpr usize | extent |
|
static constexpr usize | field_count |
|
static constexpr auto | layout_meta |
The documentation for this class was generated from the following file: