Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2008-06-22 12:10:00


Hi to all,

I committed to trunk some days ago (and I plan to merge them to the
release branch) some changes in Interprocess containers so that they can
take advantage of C++0x rvalue references of gcc 4.3.

The goal is that anyone experimenting with compilers with rvalue
references (gcc 4.3 for now) can take advantage of containers that can
hold movable-only types. Most of these containers (list,
map/set/multimap/multiset, slist) are based on Intrusive containers.
Vector and deque have more code and a move-aware vector is specially
useful to achieve efficient associative ordered vectors like
flat_map/flat_set/flat_multimap/flat_multiset.

Current move-emulation is still based on Interprocess' own types. For
Boost 1.37 I would like to change move emulation to a general Boost.Move
library (if that library is ready).

With new containers (forward_list) in the standard and having move-aware
containers in Interprocess, I was wondering if it would be a good idea
to move those containers outside Interprocess. In the future we could
make those containers compatible with Scoped Allocators (2554,
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2554.pdf).

Opinions?

Regards,

Ion


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