Lugdunum
0.1.0
Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
Variables
Typedefs
Enumerations
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
+
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
~
+
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
w
x
y
Typedefs
Enumerations
+
Related Functions
:
b
c
d
g
l
p
s
w
+
Files
File List
+
File Members
+
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
+
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
+
Macros
d
f
l
n
s
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
include
lug
System
Memory
Area
IArea.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
lug/System/Export.hpp
>
4
5
namespace
lug
{
6
namespace
System {
7
namespace
Memory {
8
namespace
Area {
9
10
// A memory page where `end` is included (i.e. `end` is the last byte in the page)
11
// The areas have to set `prev` to the previous page's address and `next` to `nullptr` before returning a `Page`
12
struct
LUG_SYSTEM_API
Page
{
13
void
* start{
nullptr
};
14
void
* end{
nullptr
};
15
16
Page
* prev{
nullptr
};
17
Page
* next{
nullptr
};
18
};
19
20
class
LUG_SYSTEM_API
IArea
{
21
public
:
22
IArea
() =
default
;
23
IArea
(
const
IArea
&) =
delete
;
24
IArea
(
IArea
&&) =
delete
;
25
26
IArea
& operator=(
const
IArea
&) =
delete
;
27
IArea
& operator=(
IArea
&&) =
delete
;
28
29
virtual
~
IArea
() =
default
;
30
31
virtual
Page
* requestNextPage() = 0;
32
};
33
34
}
// Area
35
}
// Memory
36
}
// System
37
}
// lug
Export.hpp
LUG_SYSTEM_API
#define LUG_SYSTEM_API
Definition:
Export.hpp:11
lug::System::Memory::Area::Page
Definition:
IArea.hpp:12
lug
Definition:
Application.hpp:11
lug::System::Memory::Area::IArea
Definition:
IArea.hpp:20
Generated by
1.8.13