#include "Stroika/Foundation/StroikaPreComp.h"#include <cstddef>#include "Stroika/Foundation/Common/Common.h"#include "Stroika/Foundation/Debug/Assertions.h"#include "BlockAllocator.inl"Go to the source code of this file.
Classes | |
| class | Stroika::Foundation::Memory::BlockAllocator< T > |
Namespaces | |
| namespace | Stroika::Foundation |
Make sure when we experiment with that - we include it here as one of our first optimization points!
There is now a C++ semi-standard for this, and working implementations (I haven't tried). But my current lockfree approach maybe better.
o BlockAllocationPool_<SIZE>::Compact () algorithm uses vector, which could fail if we are so fragmented we cannot allocate the large contiguous block needed for the vector<>. Catch-22. Maybe find a less costly strategy?
o I make have broken something in Compact() routine when I transcribed it from Sterl's code. never tested (by me).
Definition in file BlockAllocator.h.