unsigned allocate(std::size_t, std::size_t, unsigned, MemoryType);
unsigned split_block(unsigned, std::size_t);
void consolidate(unsigned);
unsigned allocate(std::size_t, std::size_t, unsigned, MemoryType);
unsigned split_block(unsigned, std::size_t);
void consolidate(unsigned);