As we start to allocate more and more with various improvements, we need a way of getting an allocator in there. My ideal would be to use std::polymorphic_allocator<byte> + std::memory_resource but that's c++17. Then our options are to reimplement memory_resource etc. in abseil style (there is a boost license c++11 impl of both), or to embed the allocator into the type. As a task scheduler is basically a global, embedding it in the type isn't the end of the world but would also require everything to be in the header which is less than ideal.
As we start to allocate more and more with various improvements, we need a way of getting an allocator in there. My ideal would be to use
std::polymorphic_allocator<byte> + std::memory_resourcebut that's c++17. Then our options are to reimplement memory_resource etc. in abseil style (there is a boost license c++11 impl of both), or to embed the allocator into the type. As a task scheduler is basically a global, embedding it in the type isn't the end of the world but would also require everything to be in the header which is less than ideal.