Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Implementation of memory management helper functions for the render engine model.
Here, in the actual translation unit, the generic part of these functions is emitted, while the corresponding header provides a strictly typed front-end, based on templates, which forward to the implementation eventually.
next*
resides in the first »slot« within each Extent; this pointer is dressed up (reinterpreted) as a lib::LinkedElements with a heap allocator, which ends up performing the actual allocation in blocks of EXTENT_SIZ. Definition in file allocation-cluster.cpp.
#include "lib/allocation-cluster.hpp"
#include "lib/linked-elements.hpp"
#include "lib/format-string.hpp"
#include "lib/util-quant.hpp"
#include "lib/util.hpp"
Classes | |
struct | AllocationCluster::StorageManager::Extent |
Block of allocated storage. More... | |
union | AllocationCluster::StorageManager::ManagementView |
struct | PolicyInvokeDtor |
Special allocator-policy for lib::LinkedElements. More... | |
class | AllocationCluster::StorageManager |
An overlay view for the AllocationCluster to add functionality for adding / clearing extents and registering optional deleter functions. More... | |
Namespaces | |
lib | |
Implementation namespace for support and library code. | |