So you just want to pass the format instance's allocator through to
the two std::vector instances? I don't claim any relevant expertise
here, but it sounds reasonable to me. Have you tried it?
_______________________________________________

I have tried it in similar classes. There shouldn't be any issue. Any class that will maintain private heap( like string, vector etc.. ) can pass on the control of memory allocation to the end user through the allocator arguments. The library might be even more flexible, if you take two allocators as template arguments - one for the string and one for the vector,(with default arguments, so it won't affect the current users ). But you can take a call on that.

Please let me know, if you need any more inputs on the same.

Thanks,
Gokul.