I never used it in practice, so maybe the support isn't that good, but I was under the impression that it was possible to pass custom allocators basically everywhere in the STL. See for example the definition of a vector here:
I haven't used the relatively new C++17 polymorphic_allocator, though, maybe it fixes this.