Boost logo

Boost :

From: Sibylle Schupp (schupp_at_[hidden])
Date: 2000-09-19 09:22:02


> However the allocator parameter here just kind of gets in the way. I put
> it in place because the class does allocate memory, however in the long
run
> I feel that this would be better managed by its own internal memory
manager

Three thoughts:
1. Even if the memory manager is tailored for this particular class I would
encapsulate
    it in a separate component that is orthogonal to the rest of the class
parameters.
    I would then need an allocation parameter to bind this component.
2. Without allocation parameter there is no way to override an internal
  design decision. What if the internal memory handler optimizes for speed
while a user is
  more interested in space efficiency?
3. We are developing a garbage collector for class templates and in fact
were planning
  on using regex as (another) example to study when garbage collection
  improves computation times. Although we haven't really worked with regex
yet, I expect there
  will be problems if we bind the allocator at the user's level (in
instances of list or string classes
  in the main program) to the garbage collector, but cannot propagate this
binding "all the way down."
  For example references from one heap to the other---the garbage-collected
one and the
  one of the internal manager---will be difficult to handle. I would also
expect that the total
  memory overhead increases the more allocators are involved.

Sibylle

(schupp_at_[hidden])


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk