|
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