Boost logo

Boost Users :

Subject: Re: [Boost-users] custom allocators Re:pool_alloc
From: Scott McMurray (me22.ca+boost_at_[hidden])
Date: 2010-03-19 14:14:55


On 19 March 2010 14:02, Eric Whitcombe <ericwsf_at_[hidden]> wrote:
> Sorry, if this is a little late to be helpful but I thought I'd add this for
> historical purposes for anyone looking at this thread to deal with their own
> problem. All STL containers use allocators to allocate and initialize the
> memory to store the _elements_ in the container not the node structure. The
> containers definition of the data structures that support the implentation
> details are purely internal. The allocator interface is paramterized on the
> type of the container element.
>

On that note, does anyone know why allocators are parametrised at all?

Since std::vector is the only container that actually allocates from
passed-in allocator, it seems like it would have been simpler to just
use member templates in a non-templated allocator class.

(Parametrised allocators also mean that nested containers have
exponential space requirements for their names, which actually crashed
my compiler once when I tried to make a deeply-nested container
structure in some recursive-slowdown experiments.)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net