From: ION_G_M (ION_G_M_at_[hidden])
Date: 2005-01-27 04:51:51
Hello to all,
While developing Boost Shmem, I needed an associative container to
store data in shared memory, and the easiest one to develop was an
ordered vector. For this, I'm using a slightly modified version of
Loki's AssocVector (just added reserve() and capacity() members to
adjust memory and boost performance in some cases).
Reading Boost Files section, I've seen an associative_vector
directory containing a preliminary version of this class and related
mails, but I don't see any more references to this class since 2002. In
the Formal Review Schedule page it is not listed but I can see some
review mails googling around so I was asking if this library was
abandoned for any reason.
I think that this king of "flat" associative containers are very
useful, since they are normally faster than std::set/map in lookups and
more memory friendly, specially for small types, since normally a tree
like structure imposes an overhead of 3 pointers and an integer per
node. That without counting that memory allocation for a vector has far
less fragmentation when using std::allocator.
Is the library still alive? Is anyone insterested in these classes?
What I propose is a std::set/map/multiset/multimap like interface on an
ordered vector, without more advanced functions, perhaps with added
reserve/capacity interface to optimize memory allocation when the
number of elements is known beforehand.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk