The Pedigree Project 0.1
Classes | Public Member Functions | Static Public Attributes | Private Types | Static Private Member Functions | Private Attributes | List of all members
HostedMappingIndex Class Reference
+ Collaboration diagram for HostedMappingIndex:

Classes

struct  Entry
 

Public Member Functions

 HostedMappingIndex (const HostedMappingIndex &)=delete
 
HostedMappingIndex & operator= (const HostedMappingIndex &)=delete
 
 HostedMappingIndex (HostedMappingIndex &&)=delete
 
HostedMappingIndex & operator= (HostedMappingIndex &&)=delete
 
size_t lookup (uintptr_t page) const
 
bool reserveForInsert ()
 
void insert (uintptr_t page, size_t slot)
 
void erase (uintptr_t page)
 
void clear ()
 

Static Public Attributes

static constexpr size_t Missing = ~size_t(0)
 

Private Types

enum  State : uint8_t { Empty , Occupied , Deleted }
 

Static Private Member Functions

static size_t hash (uintptr_t page)
 

Private Attributes

Entry * m_Entries
 
size_t m_Capacity
 
size_t m_Live
 
size_t m_Used
 

Detailed Description

Definition at line 9 of file MappingIndex.h.

Member Enumeration Documentation

◆ State

enum HostedMappingIndex::State : uint8_t
private

Definition at line 28 of file MappingIndex.h.

Constructor & Destructor Documentation

◆ HostedMappingIndex()

HostedMappingIndex::HostedMappingIndex ( )

Definition at line 9 of file MappingIndex.cc.

◆ ~HostedMappingIndex()

HostedMappingIndex::~HostedMappingIndex ( )

Definition at line 12 of file MappingIndex.cc.

Member Function Documentation

◆ clear()

void HostedMappingIndex::clear ( )

Definition at line 127 of file MappingIndex.cc.

◆ erase()

void HostedMappingIndex::erase ( uintptr_t  page)

Definition at line 109 of file MappingIndex.cc.

◆ hash()

size_t HostedMappingIndex::hash ( uintptr_t  page)
staticprivate

Definition at line 17 of file MappingIndex.cc.

◆ insert()

void HostedMappingIndex::insert ( uintptr_t  page,
size_t  slot 
)

Definition at line 80 of file MappingIndex.cc.

◆ lookup()

size_t HostedMappingIndex::lookup ( uintptr_t  page) const

Definition at line 25 of file MappingIndex.cc.

◆ reserveForInsert()

bool HostedMappingIndex::reserveForInsert ( )

Definition at line 41 of file MappingIndex.cc.

Member Data Documentation

◆ m_Capacity

size_t HostedMappingIndex::m_Capacity
private

Definition at line 38 of file MappingIndex.h.

◆ m_Entries

Entry* HostedMappingIndex::m_Entries
private

Definition at line 37 of file MappingIndex.h.

◆ m_Live

size_t HostedMappingIndex::m_Live
private

Definition at line 39 of file MappingIndex.h.

◆ m_Used

size_t HostedMappingIndex::m_Used
private

Definition at line 40 of file MappingIndex.h.

◆ Missing

constexpr size_t HostedMappingIndex::Missing = ~size_t(0)
staticconstexpr

Definition at line 11 of file MappingIndex.h.


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