ZXFoundation™ 26h2
Loading...
Searching...
No Matches
lib::structure< Extent, Alignment, StructEndian, FieldOrExts > Class Template Referenceexport
Inheritance diagram for lib::structure< Extent, Alignment, StructEndian, FieldOrExts >:
[legend]
Collaboration diagram for lib::structure< Extent, Alignment, StructEndian, FieldOrExts >:
[legend]

Public Types

using mmio_ref_type = mmio_structure_ref<Extent, Alignment, StructEndian, FieldOrExts...>
using ref_type = structure_ref<Extent, Alignment, StructEndian, FieldOrExts...>

Public Member Functions

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
Public Member Functions inherited from lib::structure_impl< Extent, 8, endian::native, false, FieldOrExts... >
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 >

Static Public Member Functions

template<fixed_string... FieldNames, class... Values>
static constexpr auto make (Values &&... vals) noexcept -> structure
Static Public Member Functions inherited from lib::structure_impl< Extent, 8, endian::native, false, FieldOrExts... >
static consteval auto offset_of () noexcept -> usize
static consteval auto size_of () noexcept -> usize

Additional Inherited Members

Static Public Attributes inherited from lib::structure_impl< Extent, 8, endian::native, false, FieldOrExts... >
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: