HAllocator
A Simple C++ Memory Allocator
Loading...
Searching...
No Matches
Public Attributes | List of all members
hh::basic_alloc::MemNode Struct Reference

Metadata structure for each memory block. More...

#include <basic_alloc.hpp>

Collaboration diagram for hh::basic_alloc::MemNode:
Collaboration graph
[legend]

Public Attributes

MemNodenxt
 Pointer to next block in list.
 
MemNodeprv
 Pointer to previous block in list.
 
MemSizeT size
 Size in bytes (bit 0 = free flag)
 

Detailed Description

Metadata structure for each memory block.

This structure lives immediately before the user-visible memory. It forms a doubly-linked list of all blocks (free and used).

Memory layout: [MemNode metadata] [user memory ...] ^- pointer returned to user

The size field encodes both size and free/used status:

Member Data Documentation

◆ nxt

MemNode* hh::basic_alloc::MemNode::nxt

Pointer to next block in list.

◆ prv

MemNode* hh::basic_alloc::MemNode::prv

Pointer to previous block in list.

◆ size

MemSizeT hh::basic_alloc::MemNode::size

Size in bytes (bit 0 = free flag)


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