Iros
 
Loading...
Searching...
No Matches
iris::mm::Region Class Reference

#include <iris/mm/region.h>

Inheritance diagram for iris::mm::Region:
[legend]

Public Member Functions

 Region ()=default
 
constexpr Region (VirtualAddress base, usize length, RegionFlags flags)
 
constexpr auto base () const -> VirtualAddress
 
constexpr auto end () const -> VirtualAddress
 
constexpr auto length () const -> usize
 
constexpr auto pages () const -> usize
 
constexpr auto each_page () const
 
constexpr void set_base (VirtualAddress base)
 
constexpr void set_length (usize length)
 
constexpr void set_flags (RegionFlags flags)
 
constexpr void set_backing_object (di::Arc< BackingObject > backing_object)
 
constexpr void set_end (VirtualAddress end)
 
constexpr auto flags () const -> RegionFlags
 
constexpr auto backing_object () const -> BackingObject &
 
constexpr auto readable () const -> bool
 
constexpr auto writable () const -> bool
 
constexpr auto executable () const -> bool
 
constexpr auto user () const -> bool
 
constexpr auto contains (VirtualAddress b) const -> bool
 
constexpr auto compare_with_address (VirtualAddress b) const -> di::strong_ordering
 
- Public Member Functions inherited from di::container::RBTreeNode< Tag >
 RBTreeNode ()=default
 
constexpr auto is_left_child () const -> bool
 
constexpr auto is_right_child () const -> bool
 
constexpr auto find_min () -> RBTreeNode &
 
constexpr auto find_max () -> RBTreeNode &
 
constexpr auto predecessor () const -> RBTreeNode *
 
constexpr auto successor () const -> RBTreeNode *
 

Friends

constexpr friend auto operator== (Region const &a, Region const &b) -> bool
 
constexpr friend auto operator<=> (Region const &a, Region const &b) -> di::strong_ordering
 
constexpr friend auto operator== (Region const &a, VirtualAddress b) -> bool
 
constexpr friend auto operator<=> (Region const &a, VirtualAddress b) -> di::strong_ordering
 

Additional Inherited Members

- Public Types inherited from di::container::RBTreeNode< Tag >
enum class  Color { Red = 0 , Black = 1 }
 
- Public Attributes inherited from di::container::RBTreeNode< Tag >
Color color { Color::Red }
 
RBTreeNodeparent { nullptr }
 
RBTreeNodeleft { nullptr }
 
RBTreeNoderight { nullptr }
 

Constructor & Destructor Documentation

◆ Region() [1/2]

iris::mm::Region::Region ( )
default

◆ Region() [2/2]

iris::mm::Region::Region ( VirtualAddress base,
usize length,
RegionFlags flags )
inlineexplicitconstexpr

Member Function Documentation

◆ backing_object()

auto iris::mm::Region::backing_object ( ) const -> BackingObject&
inlineconstexpr

◆ base()

auto iris::mm::Region::base ( ) const -> VirtualAddress
inlineconstexpr

◆ compare_with_address()

auto iris::mm::Region::compare_with_address ( VirtualAddress b) const -> di::strong_ordering
inlineconstexpr

◆ contains()

auto iris::mm::Region::contains ( VirtualAddress b) const -> bool
inlineconstexpr

◆ each_page()

auto iris::mm::Region::each_page ( ) const
inlineconstexpr

◆ end()

auto iris::mm::Region::end ( ) const -> VirtualAddress
inlineconstexpr

◆ executable()

auto iris::mm::Region::executable ( ) const -> bool
inlineconstexpr

◆ flags()

auto iris::mm::Region::flags ( ) const -> RegionFlags
inlineconstexpr

◆ length()

auto iris::mm::Region::length ( ) const -> usize
inlineconstexpr

◆ pages()

auto iris::mm::Region::pages ( ) const -> usize
inlineconstexpr

◆ readable()

auto iris::mm::Region::readable ( ) const -> bool
inlineconstexpr

◆ set_backing_object()

void iris::mm::Region::set_backing_object ( di::Arc< BackingObject > backing_object)
inlineconstexpr

◆ set_base()

void iris::mm::Region::set_base ( VirtualAddress base)
inlineconstexpr

◆ set_end()

void iris::mm::Region::set_end ( VirtualAddress end)
inlineconstexpr

◆ set_flags()

void iris::mm::Region::set_flags ( RegionFlags flags)
inlineconstexpr

◆ set_length()

void iris::mm::Region::set_length ( usize length)
inlineconstexpr

◆ user()

auto iris::mm::Region::user ( ) const -> bool
inlineconstexpr

◆ writable()

auto iris::mm::Region::writable ( ) const -> bool
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator<=> [1/2]

friend auto operator<=> ( Region const & a,
Region const & b ) -> di::strong_ordering
friend

◆ operator<=> [2/2]

friend auto operator<=> ( Region const & a,
VirtualAddress b ) -> di::strong_ordering
friend

◆ operator== [1/2]

friend auto operator== ( Region const & a,
Region const & b ) -> bool
friend

◆ operator== [2/2]

friend auto operator== ( Region const & a,
VirtualAddress b ) -> bool
friend

The documentation for this class was generated from the following file: