
Boris wrote:
[...]My thinking is only half-baked, but it seemed natural to me to implement this via template-based policies. The two alternatives that came to mind were to either (1) integrate support for controlling growth into the existing UserAllocator concept; or (2) add an additional template parameter to boost::pool to allow the growth strategy to be configured independently of the UserAllocator.
Solution (1) would result in the following additional required semantics for a UserAllocator implementation:
[...] Solution (2) introduces a new concept, GrowthStrategy, as an additional template argument for boost::pool (and the other related pool types):
[...] I'd be interested in hearing your thoughts and ideas...
In case you change UserAllocator (or add the GrowthStrategy concept) soon and need a tester just tell me! I'll have to modify pool.hpp now anyway as I urgently need to get rid of the doubling algorithm.
Just so you both know, I don't think Boost.Pool has a maintainer at present, so if either or both if you would like to step up to the plate and submit the necessary changes that would be great! John.