22 constexpr static void did_remove(
auto&,
auto& node);
40 constexpr auto each_page()
const {
return di::iota(
base(),
end()) | di::stride(0x1000z); }
62 return di::strong_ordering::equal;
65 return di::strong_ordering::less;
67 return di::strong_ordering::greater;
76 return a.base() <=> b.base();
83 return a.compare_with_address(b);
#define ASSERT_EQ
Definition assert_binary.h:84
#define ASSERT_GT
Definition assert_binary.h:89
#define DI_DEFINE_ENUM_BITWISE_OPERATIONS(Type)
Definition bitwise_enum.h:5
Definition backing_object.h:21
constexpr auto pages() const -> usize
Definition region.h:38
constexpr auto readable() const -> bool
Definition region.h:53
constexpr friend auto operator<=>(Region const &a, Region const &b) -> di::strong_ordering
Definition region.h:72
constexpr void set_base(VirtualAddress base)
Definition region.h:42
constexpr auto base() const -> VirtualAddress
Definition region.h:35
constexpr Region(VirtualAddress base, usize length, RegionFlags flags)
Definition region.h:29
constexpr auto length() const -> usize
Definition region.h:37
constexpr auto writable() const -> bool
Definition region.h:54
constexpr auto backing_object() const -> BackingObject &
Definition region.h:51
constexpr void set_backing_object(di::Arc< BackingObject > backing_object)
Definition region.h:45
constexpr auto each_page() const
Definition region.h:40
constexpr void set_end(VirtualAddress end)
Definition region.h:48
constexpr friend auto operator<=>(Region const &a, VirtualAddress b) -> di::strong_ordering
Definition region.h:82
constexpr auto executable() const -> bool
Definition region.h:55
constexpr friend auto operator==(Region const &a, VirtualAddress b) -> bool
Definition region.h:81
constexpr auto flags() const -> RegionFlags
Definition region.h:50
constexpr auto end() const -> VirtualAddress
Definition region.h:36
constexpr auto contains(VirtualAddress b) const -> bool
Definition region.h:58
constexpr friend auto operator==(Region const &a, Region const &b) -> bool
Definition region.h:71
constexpr void set_flags(RegionFlags flags)
Definition region.h:44
constexpr auto user() const -> bool
Definition region.h:56
constexpr auto compare_with_address(VirtualAddress b) const -> di::strong_ordering
Definition region.h:60
constexpr void set_length(usize length)
Definition region.h:43
RBTreeNode< Tag > IntrusiveTreeSetNode
Definition tree_set.h:11
size_t usize
Definition integers.h:33
IntrusivePtr< T, ArcTag > Arc
Definition arc.h:21
Definition address_space.cpp:20
di::StrongInt< VirtualAddressTag > VirtualAddress
Definition virtual_address.h:25
RegionFlags
Definition region.h:9
@ Executable
Definition region.h:13
@ Readable
Definition region.h:11
@ User
Definition region.h:14
@ Writable
Definition region.h:12
@ None
Definition local_apic.h:125
Definition intrusive_tag_base.h:8
static constexpr void did_remove(auto &, auto &node)
Definition region.h:92