Unordered: Merge from trunk.

Remove some workarounds for old compilers, some documentation updates and tweak
some tests for problem compilers.


[SVN r74469]
This commit is contained in:
Daniel James
2011-09-19 18:22:18 +00:00
parent 0618d01f86
commit 17ba6c9916
7 changed files with 325 additions and 153 deletions

View File

@@ -203,6 +203,7 @@ namespace unnecessary_copy_tests
{
reset();
T x;
COPY_COUNT(0); MOVE_COUNT(0);
BOOST_DEDUCED_TYPENAME T::value_type a;
COPY_COUNT(1); MOVE_COUNT(0);
x.emplace(boost::move(a));
@@ -237,6 +238,7 @@ namespace unnecessary_copy_tests
// 0 arguments
//
#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
// The container will have to create a copy in order to compare with
// the existing element.
reset();
@@ -246,6 +248,7 @@ namespace unnecessary_copy_tests
#else
// source_cost doesn't make much sense here, but it seems to fit.
COPY_COUNT(1); MOVE_COUNT(source_cost);
#endif
#endif
//
@@ -322,10 +325,12 @@ namespace unnecessary_copy_tests
// 0 arguments
//
#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
// COPY_COUNT(1) would be okay here.
reset();
x.emplace();
COPY_COUNT(2); MOVE_COUNT(0);
#endif
reset();
x.emplace(boost::unordered::piecewise_construct,