Hi,
It seems that many current uses of list<T>::merge( ) fail to compile
with -std=c++0x, but I don't see a bug in bugzilla for this. Itseems to
result from:
list<_Tp, _Alloc>::
#ifdef __GXX_EXPERIMENTAL_CXX0X__
merge(list&& __x)
#else
merge(list& __x)
#endif
For c++0x, don't we need BOTH versions, since lvalues no longer bind to
rvalue references, or am I missing something?
-BenRI
Hi,
I've CC'd the libstdc list, please reply there instead of the gcc list.
The WP only has:
void merge(list<T,Allocator>&& x);
template <class Compare> void merge(list<T,Allocator>&& x, Compare comp);
See http://home.roadrunner.com/~hinnant/issue_review/lwg-active.[..]
which covers a similar issue with splice.
Jonathan
When has it changed? Could you please give
a reference to some paper/discussion about it?
I'm asking, because my C++0x-based application
stopped to compile on newer 4.5-s and one of
the problems is mentioned above -- but I thought
that it was a GCC issue, not a change in the Standard.
Best regards
Piotr Wyderski
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n284[..]
Just as an example...
Paolo.