diff options
Diffstat (limited to 'libs/multiboot2/include/multiboot2/information.hpp')
| -rw-r--r-- | libs/multiboot2/include/multiboot2/information.hpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/libs/multiboot2/include/multiboot2/information.hpp b/libs/multiboot2/include/multiboot2/information.hpp index fbd534c..d2fac2e 100644 --- a/libs/multiboot2/include/multiboot2/information.hpp +++ b/libs/multiboot2/include/multiboot2/information.hpp @@ -5,11 +5,12 @@ #include "information/iterator.hpp" // IWYU pragma: export #include "information/tag.hpp" // IWYU pragma: export +#include <kstd/units> + #include <elf/format.hpp> #include <elf/section_header.hpp> #include <algorithm> -#include <cstddef> #include <cstdint> #include <cstdlib> #include <optional> @@ -119,7 +120,12 @@ namespace multiboot2 */ [[nodiscard]] auto string() const noexcept -> std::string_view { - return {data(), size()}; + return {data(), vla_tag::size()}; + } + + [[nodiscard]] constexpr auto size() const noexcept -> kstd::units::bytes + { + return kstd::units::bytes{end_address - start_address}; } }; @@ -130,9 +136,9 @@ namespace multiboot2 using pointer = iterator::pointer; using reference = iterator::reference; - [[nodiscard]] auto size_bytes() const noexcept -> std::size_t + [[nodiscard]] auto size() const noexcept -> kstd::units::bytes { - return m_size; + return kstd::units::bytes{m_size}; } // Range access @@ -190,7 +196,7 @@ namespace multiboot2 { return get<multiboot2::elf_symbols<Format>>().and_then( [](auto x) -> std::optional<multiboot2::elf_symbols<Format>> { - if (x.entry_size == elf::section_header_size<Format>) + if (x.entry_size_in_B == elf::section_header_size<Format>) { return std::optional{x}; } |
