bit::memory
|
A structure that encompasses functionality, but contains no internal nor external state (i.e. no data members). More...
Classes | |
class | bit::memory::aligned_allocator |
This stateless allocator performs all of its allocation calls using aligned memory invocations. More... | |
class | bit::memory::aligned_offset_allocator |
This stateless allocator performs all of its allocation calls using aligned memory invocations aligned to an offset. More... | |
class | bit::memory::malloc_allocator |
This stateless allocator performs all of its allocation calls using raw calls to 'malloc', and frees memory with 'free'. More... | |
class | bit::memory::new_allocator |
This stateless allocator performs all of its allocation calls using raw calls to 'new', and frees memory with 'delete'. More... | |
class | bit::memory::null_allocator |
An allocator that only ever serves nullptr. More... | |
class | bit::memory::aligned_block_allocator< DefaultBlockSize, BlockAlign, GrowthMultiplier > |
An allocator that allocates over-aligned memory. More... | |
class | bit::memory::malloc_block_allocator< DefaultBlockSize, GrowthMultiplier > |
A block allocator that wraps around raw calls to std::malloc and std::free. More... | |
class | bit::memory::new_block_allocator< DefaultBlockSize, GrowthMultiplier > |
A block allocator that wraps around calls to new and delete. More... | |
class | bit::memory::null_block_allocator |
A block allocator that only distributes null blocks. More... | |
class | bit::memory::static_block_allocator< BlockSize, Blocks, Align, Tag > |
This is a block allocator that distributes blocks of memory stored statically. More... | |
class | bit::memory::thread_local_block_allocator< BlockSize, Blocks, Align, Tag > |
This is a block allocator that distributes blocks of static memory that is local to the specific thread. More... | |
class | bit::memory::no_growth_multiplier |
A multiplier that doesn't actually grow. More... | |
A structure that encompasses functionality, but contains no internal nor external state (i.e. no data members).
Two instances of the same type must always compare equal, and constructing/copying/moving instances must not affect or be affected by any external state.
Semantically, a single instance should be identical in every respect to any duplicates; which may allow a composition of multiple of the same Stateless object to be compressed into a single instance (either EBO inheritance or data member).
Requirements
Alternatively, the following state may be specified to override the determination of a concept.
Provided
S
- a Stateless types
- an instance of S
the following expressions must be well-formed with the expected reproduceable side-effects:
Type must be std::true_type