
6 Jun
2006
6 Jun
'06
4:41 p.m.
On 6/6/06, James Swift
Now assume I'm also very often constructing and destroying nodes. An object pool is an obvious optimisation to try out. However shared_ptr would need to call object_pool::destruct() instead of delete when it really wants to destroy the object. Or singleton_pool::free() but this causes more difficulties for me because I want to control the lifetime of the pool separately for each instance of my objects which are working on these trees.
shared_ptr can have a custom deleter, which might be exactly what you need. It's fairly simple to create with Boost.Bind, too: boost::bind( &object_pool::destruct, ref(the_pool), _1 ) ( or similar, I'm not sure if those are exactly the right names and such ) ~ SWMc