Implementation namespace for le_malloc() and le_free() More...
Classes | |
| struct | MtxWrapper |
| To serve and protect. More... | |
| struct | Region |
| Struct representing one region of the eternal malloc pool. More... | |
| struct | RegionsInitialiser |
| https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter has a detailed explanation. More... | |
Functions | |
| template<typename T , typename U > | |
| constexpr T | next_multiple (T const current, U const alignment) |
Casts current to the type of alignment and adds the difference to the next value at which U(current) % alignment is zero; i.e. if alignment is 64, it returns the smallest value greater than current which is divisible by 64. More... | |
Variables | |
| static std::mutex & | mtx = reinterpret_cast<std::mutex&>(mutex_buffer) |
| static std::size_t | mtx_counter |
| static struct syten::EternalMalloc::MtxWrapper | mtxWrapper |
| static std::aligned_storage< sizeof(std::mutex), alignof(std::mutex)>::type | mutex_buffer |
| static constexpr std::size_t | region_default_size {4ULL * 1024ULL * 1024ULL} |
| Default region size (unless a single allocation wouldn't fit. More... | |
| static std::vector< Region > & | regions = reinterpret_cast<std::vector<Region>&>(regions_buffer) |
regions is a reference to space allocated at regions_buffer, holds a vector of allocated regions. More... | |
| static std::aligned_storage< sizeof(std::vector< Region >), alignof(std::vector< Region >)>::type | regions_buffer |
| Space for the regions object (cf. More... | |
| static std::size_t | regionsCounter |
| cf. More... | |
| static struct syten::EternalMalloc::RegionsInitialiser | regionsInitialiser |
| See EternalMalloc::RegionsInitialiser. More... | |
Implementation namespace for le_malloc() and le_free()