Pyrogenesis  trunk
Public Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
FreedBlock Class Reference
Collaboration diagram for FreedBlock:
Collaboration graph
[legend]

Public Member Functions

 FreedBlock ()
 
void Setup (uintptr_t id, size_t size)
 
void Reset ()
 
size_t Size () const
 
bool IsFreedBlock (uintptr_t id) const
 
void Validate (uintptr_t id) const
 warn if any invariant doesn't hold. More...
 

Private Attributes

u64 m_magic
 
FreedBlockprev
 
FreedBlocknext
 
size_t m_size
 
uintptr_t m_id
 

Static Private Attributes

static const u64 s_magic = 0xFF55AA00BBCCDDEEull
 

Friends

class RangeList
 

Constructor & Destructor Documentation

FreedBlock::FreedBlock ( )
inline

Member Function Documentation

bool FreedBlock::IsFreedBlock ( uintptr_t  id) const
inline
Returns
whether this appears to be a FreedBlock instance with the desired ID. for additional safety, also call Validate().
void FreedBlock::Reset ( )
inline
void FreedBlock::Setup ( uintptr_t  id,
size_t  size 
)
inline
size_t FreedBlock::Size ( ) const
inline
void FreedBlock::Validate ( uintptr_t  id) const
inline

warn if any invariant doesn't hold.

Friends And Related Function Documentation

friend class RangeList
friend

Member Data Documentation

uintptr_t FreedBlock::m_id
private
u64 FreedBlock::m_magic
private
size_t FreedBlock::m_size
private
FreedBlock* FreedBlock::next
private
FreedBlock* FreedBlock::prev
private
const u64 FreedBlock::s_magic = 0xFF55AA00BBCCDDEEull
staticprivate

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