memory namespace

this namespace contains types and utilities for managing regions of memory

due to the potential constrained environments that this app might run in, there are some helper classes provided to track and manage memory (both physically backed and non-physically backed). You can find more information in memory::region about this.

classes

allocator_base
base class that defines the interface for an allocator.
block_allocator
predifined block size allocator, much faster than most allocators, but can only allocate one sized blocks.
default_allocator
default allocator that internally works using lists
range_t
defines a begin/end location in (virtual) memory (in respect to the region, or segment).
region
defines a region of memory that might be physically backed depending on the allocator.
segment
a segment defines a addressable and mapped region of memory.
sparse_array<...>
container type that is fast to iterate, but has non-continuous interface