ScummVM API documentation
Sci::HunkTable Struct Reference
Inheritance diagram for Sci::HunkTable:
Sci::SegmentObjTable< Hunk > Sci::SegmentObj Common::Serializable

Public Member Functions

void freeEntryContents (int idx)
 
void freeEntry (int idx) override
 
void freeAtAddress (SegManager *segMan, reg_t sub_addr) override
 
void saveLoadWithSerializer (Common::Serializer &ser) override
 
- Public Member Functions inherited from Sci::SegmentObjTable< Hunk >
 SegmentObjTable (SegmentType type)
 
int allocEntry ()
 
bool isValidOffset (uint32 offset) const override
 
bool isValidEntry (int idx) const
 
virtual void freeEntry (int idx)
 
Common::Array< reg_t > listAllDeallocatable (SegmentId segId) const override
 
uint size () const
 
Hunk & at (uint index)
 
const Hunk & at (uint index) const
 
Hunk & operator[] (uint index)
 
const Hunk & operator[] (uint index) const
 
- Public Member Functions inherited from Sci::SegmentObj
 SegmentObj (SegmentType type)
 
SegmentType getType () const
 
virtual bool isValidOffset (uint32 offset) const =0
 
virtual SegmentRef dereference (reg_t pointer)
 
virtual reg_t findCanonicAddress (SegManager *segMan, reg_t sub_addr) const
 
virtual void freeAtAddress (SegManager *segMan, reg_t sub_addr)
 
virtual Common::Array< reg_t > listAllDeallocatable (SegmentId segId) const
 
virtual Common::Array< reg_t > listAllOutgoingReferences (reg_t object) const
 
virtual void saveLoadWithSerializer (Serializer &ser)=0
 

Additional Inherited Members

- Public Types inherited from Sci::SegmentObjTable< Hunk >
enum  
 
typedef Hunk value_type
 
typedef Common::Array< Entry > ArrayType
 
- Static Public Member Functions inherited from Sci::SegmentObj
static SegmentObj * createSegmentObj (SegmentType type)
 
- Public Attributes inherited from Sci::SegmentObjTable< Hunk >
int first_free
 
int entries_used
 
ArrayType _table
 
- Public Attributes inherited from Sci::SegmentObj
SegmentType _type
 

Member Function Documentation

◆ freeEntry()

void Sci::HunkTable::freeEntry ( int  idx)
inlineoverridevirtual

Reimplemented from Sci::SegmentObjTable< Hunk >.

◆ freeAtAddress()

void Sci::HunkTable::freeAtAddress ( SegManager *  segMan,
reg_t  sub_addr 
)
inlineoverridevirtual

Deallocates all memory associated with the specified address. Used by the garbage collector.

Parameters
sub_addraddress (within the given segment) to deallocate

Reimplemented from Sci::SegmentObj.

◆ saveLoadWithSerializer()

void Sci::HunkTable::saveLoadWithSerializer ( Common::Serializer &  ser)
overridevirtual

Implements Common::Serializable.


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