Changeset 74234

Timestamp:
Sep 4, 2011, 7:37:45 PM (11 years ago)
Author:
Daniel James
Message:

Unordered: Merge from trunk

  • Remove use of BOOST_DEDUCED_TYPENAME and BOOST_UNORDERED_PAIR_CAST, it's unlikely that the compilers which require them will be able to cope with the new version of unordered.
  • Use the old equality algorithm if BOOST_UNORDERED_DEPRECATED_EQUALITY is defined.
  • Use SFINAE to control which overloads of construct_impl are available. Fixes problems with differing overload resolution on different compilers.
  • Support for piecewise pair construction.
  • Only support the old variadic pair construction when BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT is defined (also fixed some bugs).
  • Avoid instantiating BOOST_RV_REF for non-classes.
  • Support optional allocator member functions for compilers with SFINAE expressions and Visual C++ 9.0/10.0
  • Follow boost macro naming conventions.
  • Improved portability for allocator_traits emulation.

Current compiler support:

  • Full support for GCC 4.4+, Visual C++ 9.0+, Clang.
  • All other compilers odn't support optional allocator members.
  • No other errors for GCC 3.4.6+, Visual C++ 8.0, Intel, Pathscale.
  • Visual Age has a compile error if select_on_container_copy_construction isn't const (it should ignore it).
  • select_on_container_copy_construction detection doesn't work on Sun.
  • unnecessary_copy_tests is failling for vacpp on AIX, but not on linux.
  • Warnings causing failures for Visual C++ with STLport and WM5.
(No files)

Note: See TracChangeset for help on using the changeset viewer.