$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r75293 - in branches/release: . boost boost/detail boost/unordered boost/unordered/detail libs libs/move libs/unordered libs/unordered/doc tools tools/quickbook tools/quickbook/src
From: dnljms_at_[hidden]
Date: 2011-11-03 22:31:38
Author: danieljames
Date: 2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
New Revision: 75293
URL: http://svn.boost.org/trac/boost/changeset/75293
Log:
Merge to release several changes for 1.48.
Added:
   branches/release/libs/move/index.html
      - copied unchanged from r75141, /trunk/libs/move/index.html
Properties modified: 
   branches/release/   (props changed)
   branches/release/boost/   (props changed)
   branches/release/boost/detail/   (props changed)
   branches/release/boost/unordered/   (props changed)
   branches/release/libs/   (props changed)
   branches/release/libs/unordered/   (props changed)
   branches/release/tools/   (props changed)
   branches/release/tools/quickbook/   (props changed)
Text files modified: 
   branches/release/boost/detail/container_fwd.hpp               |    13 +++++++++++--                           
   branches/release/boost/unordered/detail/allocator_helpers.hpp |     2 +-                                      
   branches/release/boost/unordered/detail/emplace_args.hpp      |    10 +++++-----                              
   branches/release/boost/unordered/detail/equivalent.hpp        |    11 +++++++----                             
   branches/release/boost/unordered/detail/unique.hpp            |    19 ++++++++++---------                     
   branches/release/libs/unordered/doc/compliance.qbk            |     4 +---                                    
   branches/release/tools/quickbook/src/doc_info_actions.cpp     |     4 ++--                                    
   7 files changed, 37 insertions(+), 26 deletions(-)
Modified: branches/release/boost/detail/container_fwd.hpp
==============================================================================
--- branches/release/boost/detail/container_fwd.hpp	(original)
+++ branches/release/boost/detail/container_fwd.hpp	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -16,6 +16,13 @@
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
 
+////////////////////////////////////////////////////////////////////////////////
+//                                                                            //
+// Define BOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to      //
+// forward declare standard containers.                                       //
+//                                                                            //
+////////////////////////////////////////////////////////////////////////////////
+
 #if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
 #  if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
      // STLport
@@ -31,13 +38,15 @@
 #    define BOOST_DETAIL_NO_CONTAINER_FWD
 #  elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
      // GNU libstdc++ 3
-#    if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL)
+#    if defined(_GLIBCXX_DEBUG) \
+        || defined(_GLIBCXX_PARALLEL) \
+        || defined(_GLIBCXX_PROFILE)
 #      define BOOST_DETAIL_NO_CONTAINER_FWD
 #    endif
 #  elif defined(__STL_CONFIG_H)
      // generic SGI STL
      //
-     // Forward declaration seems to be okay, but it has a copule of odd
+     // Forward declaration seems to be okay, but it has a couple of odd
      // implementations.
 #    define BOOST_CONTAINER_FWD_BAD_BITSET
 #    if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
Modified: branches/release/boost/unordered/detail/allocator_helpers.hpp
==============================================================================
--- branches/release/boost/unordered/detail/allocator_helpers.hpp	(original)
+++ branches/release/boost/unordered/detail/allocator_helpers.hpp	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -108,7 +108,7 @@
         convert_from_anything(T const&);
     };
 
-#if !defined(BOOST_NO_SFINAE_EXPR) || BOOST_WORKAROUND(BOOST_MSVC, >= 1500)
+#if !defined(BOOST_NO_SFINAE_EXPR)
 
 #   define BOOST_UNORDERED_HAVE_CALL_DETECTION 1
 
Modified: branches/release/boost/unordered/detail/emplace_args.hpp
==============================================================================
--- branches/release/boost/unordered/detail/emplace_args.hpp	(original)
+++ branches/release/boost/unordered/detail/emplace_args.hpp	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -90,7 +90,7 @@
     {                                                                       \
         BOOST_PP_REPEAT_##z(n, BOOST_UNORDERED_EARGS_MEMBER, _)             \
         BOOST_PP_CAT(emplace_args, n) (                                     \
-            BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, B, a)                       \
+            BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, Arg, a)                     \
         ) : BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_EARGS_INIT, _)             \
         {}                                                                  \
                                                                             \
@@ -112,8 +112,8 @@
 #if defined(BOOST_NO_RVALUE_REFERENCES)
 
 #define BOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
-    typedef BOOST_FWD_REF(BOOST_PP_CAT(A, n)) BOOST_PP_CAT(B, n);           \
-    BOOST_PP_CAT(B, n) BOOST_PP_CAT(a, n);
+    typedef BOOST_FWD_REF(BOOST_PP_CAT(A, n)) BOOST_PP_CAT(Arg, n);         \
+    BOOST_PP_CAT(Arg, n) BOOST_PP_CAT(a, n);
 
 #define BOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
     BOOST_PP_CAT(a, n)(                                                     \
@@ -123,8 +123,8 @@
 
 #define BOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
     typedef typename boost::add_lvalue_reference<BOOST_PP_CAT(A, n)>::type  \
-        BOOST_PP_CAT(B, n);                                                 \
-    BOOST_PP_CAT(B, n) BOOST_PP_CAT(a, n);
+        BOOST_PP_CAT(Arg, n);                                               \
+    BOOST_PP_CAT(Arg, n) BOOST_PP_CAT(a, n);
 
 #define BOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
     BOOST_PP_CAT(a, n)(BOOST_PP_CAT(a, n))
Modified: branches/release/boost/unordered/detail/equivalent.hpp
==============================================================================
--- branches/release/boost/unordered/detail/equivalent.hpp	(original)
+++ branches/release/boost/unordered/detail/equivalent.hpp	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -178,6 +178,7 @@
         typedef typename table::key_type key_type;
         typedef typename table::node_constructor node_constructor;
         typedef typename table::extractor extractor;
+        typedef typename table::iterator iterator;
 
         // Constructors
 
@@ -255,13 +256,15 @@
             return count;
         }
 
-        std::pair<node_pointer, node_pointer>
+        std::pair<iterator, iterator>
             equal_range(key_type const& k) const
         {
             node_pointer n = this->find_node(k);
-            return std::make_pair(n,
-                n ? static_cast<node_pointer>(
-                        static_cast<node_pointer>(n->group_prev_)->next_) : n);
+            return std::make_pair(
+                iterator(n), iterator(n ?
+                    static_cast<node_pointer>(
+                        static_cast<node_pointer>(n->group_prev_)->next_) :
+                    n));
         }
 
         // Equality
Modified: branches/release/boost/unordered/detail/unique.hpp
==============================================================================
--- branches/release/boost/unordered/detail/unique.hpp	(original)
+++ branches/release/boost/unordered/detail/unique.hpp	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -174,8 +174,9 @@
         typedef typename table::key_type key_type;
         typedef typename table::node_constructor node_constructor;
         typedef typename table::extractor extractor;
+        typedef typename table::iterator iterator;
 
-        typedef std::pair<node_pointer, bool> emplace_return;
+        typedef std::pair<iterator, bool> emplace_return;
 
         // Constructors
 
@@ -253,12 +254,12 @@
                 std::out_of_range("Unable to find key in unordered_map."));
         }
 
-        std::pair<node_pointer, node_pointer>
+        std::pair<iterator, iterator>
             equal_range(key_type const& k) const
         {
             node_pointer n = this->find_node(k);
-            return std::make_pair(n,
-                n ? static_cast<node_pointer>(n->next_) : n);
+            return std::make_pair(iterator(n),
+                iterator(n ? static_cast<node_pointer>(n->next_) : n));
         }
 
         // equals
@@ -354,7 +355,7 @@
                 boost::unordered::detail::please_ignore_this_overload> const&)
         {
             BOOST_ASSERT(false);
-            return emplace_return(this->begin(), false);
+            return emplace_return(iterator(this->begin()), false);
         }
 #endif
 
@@ -389,7 +390,7 @@
             std::size_t hash = this->hash_function()(k);
             node_pointer pos = this->find_node(hash, k);
     
-            if (pos) return emplace_return(pos, false);
+            if (pos) return emplace_return(iterator(pos), false);
     
             // Create the node before rehashing in case it throws an
             // exception (need strong safety in such a case).
@@ -400,7 +401,7 @@
             // reserve has basic exception safety if the hash function
             // throws, strong otherwise.
             this->reserve_for_insert(this->size_ + 1);
-            return emplace_return(this->add_node(a, hash), true);
+            return emplace_return(iterator(this->add_node(a, hash)), true);
         }
 
         emplace_return emplace_impl_with_node(node_constructor& a)
@@ -409,12 +410,12 @@
             std::size_t hash = this->hash_function()(k);
             node_pointer pos = this->find_node(hash, k);
 
-            if (pos) return emplace_return(pos, false);
+            if (pos) return emplace_return(iterator(pos), false);
 
             // reserve has basic exception safety if the hash function
             // throws, strong otherwise.
             this->reserve_for_insert(this->size_ + 1);
-            return emplace_return(this->add_node(a, hash), true);
+            return emplace_return(iterator(this->add_node(a, hash)), true);
         }
 
         template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
Modified: branches/release/libs/unordered/doc/compliance.qbk
==============================================================================
--- branches/release/libs/unordered/doc/compliance.qbk	(original)
+++ branches/release/libs/unordered/doc/compliance.qbk	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -36,9 +36,7 @@
 member function detection so that the fallback is used whenever the
 member function call is not well formed.
 This requires support for SFINAE expressions, which are available on
-GCC from version 4.4 and Clang. They aren't supported by
-Visual C++ 2008/2010, but with a bit of hacking it's possible to support
-certain use cases.
+GCC from version 4.4 and Clang.
 
 On other compilers, there's just a test to see if the allocator has
 a member, but no check that it can be called. So rather than using a
Modified: branches/release/tools/quickbook/src/doc_info_actions.cpp
==============================================================================
--- branches/release/tools/quickbook/src/doc_info_actions.cpp	(original)
+++ branches/release/tools/quickbook/src/doc_info_actions.cpp	2011-11-03 22:31:36 EDT (Thu, 03 Nov 2011)
@@ -171,7 +171,7 @@
             qbk_major_version = 1;
             qbk_minor_version = 1;
             detail::outwarn(actions.filename,1)
-                << "Warning: Quickbook version undefined. "
+                << "Quickbook version undefined. "
                 "Version 1.1 is assumed" << std::endl;
         }
         else
@@ -410,7 +410,7 @@
         // Close any open sections.
         if (actions.section_level != 0) {
             detail::outwarn(actions.filename)
-                << "Warning missing [endsect] detected at end of file."
+                << "Missing [endsect] detected at end of file."
                 << std::endl;
 
             while(actions.section_level > 0) {