AllocatorBlock allocate(size_t n) { if (n == s && root_) { AllocatorBlock b = { root_, n }; root_ = root_->next; return b; } else { return parent_.allocate(n); } }
vector_base(const A& a, typename A::size_type n) : alloc(a), v(alloc.allocate(n)), space(v+n), last(v+n) { }
bsend_buffer(int size, A alloc) : size(size), alloc(alloc), buff(alloc.allocate(size)) { environment::buffer_attach(buff, size); }