Boost logo

Boost :

Subject: Re: [boost] Interest in a container which can hold multiple data types?
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-05-07 02:10:37


Le 06/05/15 17:36, Joaquin M Lopez Munoz a écrit :
> Vicente J. Botet Escriba <vicente.botet <at> wanadoo.fr> writes:
>
>> Le 06/05/15 16:41, Boris Rasin a écrit :
>>> So traversing such "unordered" het_collection is indeed faster. Thanks
>>> for the data. The question is how useful such container would be in
>>> real life if it only supported "unordered" traversal, i.e. did not
>>> satisfy requirements of "sequence container"? As I suggested
>>> previously, one could add additional internal index container to keep
>>> track of linear element arrangement, allowing both linear traversal
>>> and fast "unordered" traversal when desired. Does this make any sense?
>>>
>>>
>> I suspect this is the role of Boost.MultiIndex :)
>>
> Boost.MultiIndex is not powerful enough to support this:
> multi_index_containers are node-based by design, so there's no way we
> can have values stored contiguosly (unless via an indirection, which
> ruins caching).
>
>
Hi Joaquin,

sorry I believed that a direct access index was stored contiguously even
if it uses a node base design. After a second thought I see that it is
not possible to implement it, at least efficiently.

Vicente


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