Struct ByteReleaseContext

Inheritance Relationships

Base Type

Struct Documentation

struct ByteReleaseContext : public CE::Memory::AbstractBlockManager<void>

Declaration: final

Retains byte bookkeeping for final releases independently of a Manager facade.

All void managers share this domain; growth policy only affects checkout. Handles capture this context before the facade can be destroyed. Returning storage never dereferences that facade or performs a singleton lookup. Returns validate and commit under the shared domain’s transaction locks.

Public Functions

inline void return_chunk(const ::CE::Memory::HeapBlock &returned)

Return a complete checked-out byte range under shared-domain transaction locks.

Parameters:

returned – Exact current range, with valid backing owner/head/length metadata. Unknown/already-pooled/invalid ranges throw failed_operation after unlocked diagnostics. No objects are destroyed by this byte operation; backing ownership remains pooled until culling releases it.

inline void release_owned(const ::CE::Memory::HeapBlock &returned) noexcept

Final-owner return independent of a Manager facade or singleton lookup.

Parameters:

returned – Known valid checked-out byte range, returned exactly once after all users stop. Invalid bookkeeping or allocation/locking failure is reported and terminates instead of escaping a shared_ptr deleter. Never use this to hide recoverable arbitrary-pointer validation.