Subject: Re: [boost] [cpo-proposal] presentation of the idea
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2013-08-28 02:57:49
On 28-08-2013 06:51, Gottlob Frege wrote:
> <snip> big thread about polymorphic container ... </snip>
> I hope I didn't miss anything in the thread. If I'm repeating something,
> I don't think we want or need to limit what we put into the container.
> Neither by forcing certain virtual functions onto the base class, nor by
> limiting what the contained types can and can't do (like have pointers to
> themselves and do funky things in their copy/move constructors).
> When push_back<Triangle> is called, we create an instance of an
> ItemHandler<Triangle> class, that derives from BaseItemHandler, and
> implements copy/move virtually. ie type-erasure. ItemHandler<Triangle>
> knows how to move/copy Triangles. It is not Triangle's job!
> We put the ItemHandler<Triangle> in a map<RTTI, BaseItemHandler*>.
This is a bad idea IMO. The point of such a container is to provide
as little fragmentation of the heap as possible, to get better
locality of data (when the data consists of polymorphic objetcs).
we get great locality. We don't yet have such an alternative for
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk