Instead of passing around an Allocator &, we should pass around std::unique_ptr<IAllocator> const &.
It expresses that someone else owns it and that you don't get to take ownership of it (but you can share the reference to it), and allows you to modify the IAllocator - @lockshaw
Instead of passing around an
Allocator &
, we should pass aroundstd::unique_ptr<IAllocator> const &
.