Le 06/05/15 17:36, Joaquin M Lopez Munoz a écrit :
Vicente J. Botet Escriba
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