Iros
 
Loading...
Searching...
No Matches
map_temp_page.h
Go to the documentation of this file.
1#pragma once
2
3#include "iris/core/error.h"
4
5namespace iris::mm {
6struct TempPage;
7
9void unmap_temp_page(void*);
10
11struct TempPage {
12public:
13 explicit TempPage(void* data) : m_data(data) {}
14
16
17 TempPage(TempPage const&) = delete;
18 TempPage(TempPage&&) = delete;
19 auto operator=(TempPage const&) -> TempPage& = delete;
20 auto operator=(TempPage&&) -> TempPage& = delete;
21
22 template<typename T>
23 requires(sizeof(T) <= 4096 && alignof(T) <= 4096)
24 auto typed() const -> T* {
25 return reinterpret_cast<T*>(m_data);
26 }
27
28private:
29 void* m_data;
30};
31}
Definition address_space.cpp:20
void unmap_temp_page(void *)
auto map_temp_page() -> Expected< TempPage >
di::vocab::Expected< T, di::platform::GenericCode > Expected
Definition error.h:324
Definition map_temp_page.h:11
auto operator=(TempPage &&) -> TempPage &=delete
TempPage(TempPage &&)=delete
auto operator=(TempPage const &) -> TempPage &=delete
~TempPage()
Definition map_temp_page.h:15
TempPage(void *data)
Definition map_temp_page.h:13
auto typed() const -> T *
Definition map_temp_page.h:24
TempPage(TempPage const &)=delete