Heap class
Base classes
- class IDisposer
- class INamable
- class Reflexible
Derived classes
Public types
- using HeapList = OffsetList<Heap>
- using DisposerList = OffsetList<IDisposer>
- enum class HeapNullOption { AlwaysUseSpecifiedHeap = 0, UseSpecifiedOrContainHeap = 1, DoNotAppendDisposerIfNoHeapSpecified = 2, UseSpecifiedOrCurrentHeap = 3 }
- enum class NodeClassType { Reflexible = 0, Node = 1, Other = 2 }
- enum class AllocFlg { Name = 1u << 0u, Meta = 1u << 1u }
Public static functions
- static auto getListNodeOffset() -> u32
Constructors, destructors, conversion operators
Public functions
- void destroy() pure virtual
-
auto adjust() -> size_
t pure virtual -
auto tryAlloc(size_
t size, s32 alignment) -> void* pure virtual - void free(void* ptr) pure virtual
-
auto resizeFront(void*,
size_
t) -> void* pure virtual -
auto resizeBack(void*,
size_
t) -> void* pure virtual -
auto tryRealloc(void* ptr,
size_
t size, s32 alignment) -> void* virtual - void freeAll() pure virtual
- auto getStartAddress() const -> uintptr_t pure virtual
- auto getEndAddress() const -> uintptr_t pure virtual
-
auto getSize() const -> size_
t pure virtual -
auto getFreeSize() const -> size_
t pure virtual -
auto getMaxAllocatableSize(int alignment) const -> size_
t pure virtual - auto isInclude(const void*) const -> bool pure virtual
- auto isEmpty() const -> bool pure virtual
- auto isFreeable() const -> bool pure virtual
- auto isResizable() const -> bool pure virtual
- auto isAdjustable() const -> bool pure virtual
- void dump() const virtual
- void dumpYAML(WriteStream& stream, int) const virtual
- void dumpTreeYAML(WriteStream& stream, int) const
- void genInformation_(hostio::Context*) virtual
- void makeMetaString_(BufferedSafeString*) virtual
- void pushBackChild_(Heap* child) virtual
- void appendDisposer_(IDisposer* disposer)
- void removeDisposer_(IDisposer* disposer)
- auto findContainHeap_(const void* ptr) -> Heap*
-
auto alloc(size_
t size, s32 alignment = sizeof(void*)) -> void* - void enableLock(bool on)
- void enableWarning(bool on)
- void enableDebugFillSystem(bool on)
- void enableDebugFillUser(bool on)
- auto isLockEnabled() const -> bool
- auto isWarningEnabled() const -> bool
- auto isDebugFillSystemEnabled() const -> bool
- auto isDebugFillUserEnabled() const -> bool
-
auto getCriticalSection() -> sead::
CriticalSection& - auto getName() const -> const SafeString&
- void setName(const SafeString& name)
- auto getNodeClassType() const -> NodeClassType virtual
Public variables
- void* mStart
-
size_
t mSize - Heap* mParent
- HeapList mChildren
- ListNode mListNode
- DisposerList mDisposerList
- HeapDirection mDirection
- CriticalSection mCS
- BitFlag16 mFlag
- u16 mHeapCheckTag
Protected functions
- auto getDisposerHeap_() const -> Heap*
Enum documentation
enum class sead:: Heap:: HeapNullOption
#include <heap/seadDisposer.h>
enum class sead:: Heap:: NodeClassType
#include <hostio/seadHostIOReflexible.h>
| Enumerators | |
|---|---|
| Reflexible | |
| Node | |
| Other |
Other classes. |
enum class sead:: Heap:: AllocFlg
#include <hostio/seadHostIOReflexible.h>
Function documentation
static u32 sead:: Heap:: getListNodeOffset()
#include <heap/seadDisposer.h>
const SafeString& sead:: Heap:: getName() const
#include <prim/seadNamable.h>
void sead:: Heap:: setName(const SafeString& name)
#include <prim/seadNamable.h>
NodeClassType sead:: Heap:: getNodeClassType() const virtual
#include <hostio/seadHostIOReflexible.h>
Heap* sead:: Heap:: getDisposerHeap_() const protected
#include <heap/seadDisposer.h>