50 typedef boost::fast_pool_allocator<node, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex> allocator_type;
52 node(
const rect& aRect, allocator_type& aAllocator) :
53 iAllocator{ aAllocator }, iInUse {
false }, iChildren{}, iRect{ aRect }
58 if (iChildren[0] !=
nullptr)
60 iAllocator.destroy(iChildren[0]);
61 iAllocator.deallocate(iChildren[0]);
63 if (iChildren[1] !=
nullptr)
65 iAllocator.destroy(iChildren[1]);
66 iAllocator.deallocate(iChildren[1]);
72 return iChildren[0] ==
nullptr;
78 node* insert(
const size& aElementSize);
80 allocator_type& iAllocator;
82 std::array<node*, 2> iChildren;
90 node::allocator_type iAllocator;