diff options
| author | Matteo Gmür <matteo.gmuer1@ost.ch> | 2024-10-27 09:21:25 +0000 |
|---|---|---|
| committer | Matteo Gmür <matteo.gmuer1@ost.ch> | 2024-10-27 09:21:25 +0000 |
| commit | a29e823c6ead21fa7c8f6445411d52f57c4518fb (patch) | |
| tree | 4e9b9d9fda793b9ecf680e57161c25a971b78f51 /arch/x86_64/src/memory/multiboot | |
| parent | ca17ed52ea768f1e1c837207f7d27afa6ed99cc2 (diff) | |
| download | teachos-a29e823c6ead21fa7c8f6445411d52f57c4518fb.tar.xz teachos-a29e823c6ead21fa7c8f6445411d52f57c4518fb.zip | |
Attempt to start using C++20 algorithm calls.
Diffstat (limited to 'arch/x86_64/src/memory/multiboot')
| -rw-r--r-- | arch/x86_64/src/memory/multiboot/memory_map.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/x86_64/src/memory/multiboot/memory_map.cpp b/arch/x86_64/src/memory/multiboot/memory_map.cpp index 6b1d1d4..da7f05d 100644 --- a/arch/x86_64/src/memory/multiboot/memory_map.cpp +++ b/arch/x86_64/src/memory/multiboot/memory_map.cpp @@ -1,11 +1,13 @@ #include "arch/memory/multiboot/memory_map.hpp" +#include "arch/exception_handling/assert.hpp" + namespace teachos::arch::memory::multiboot { memory_area_iterator::memory_area_iterator(multiboot::memory_area * p) : ptr(p) { - // Nothing to do + exception_handling::assert(ptr, "[Memory Area] Attempted to pass nullptr as iterator"); } multiboot::memory_area & memory_area_iterator::operator*() const { return *ptr; } @@ -21,4 +23,15 @@ namespace teachos::arch::memory::multiboot ++ptr; return *this; } + + memory_area_container::memory_area_container(memory_area * begin, std::size_t size) + : area_begin(begin) + , area_end(begin + size) + { + // Nothing to do + } + + auto memory_area_container::begin() const -> multiboot::memory_area_iterator { return area_begin; } + + auto memory_area_container::end() const -> multiboot::memory_area_iterator { return area_end; } } // namespace teachos::arch::memory::multiboot |
