From 7ac180ed548c2b7abb8077f35fa8b857f12b8487 Mon Sep 17 00:00:00 2001
From: Dave Abrahams
Date: Tue, 16 May 2006 22:55:27 +0000
Subject: [PATCH 001/164] Use forwarding to get SFINAE effect in some common
use cases.
Rename detail::result_of to detail::result_of_impl to avoid surprises
when result_of is used from within boost::detail.
[SVN r33981]
---
include/boost/utility/detail/result_of_iterate.hpp | 14 +++++++-------
include/boost/utility/result_of.hpp | 7 +++----
2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/include/boost/utility/detail/result_of_iterate.hpp b/include/boost/utility/detail/result_of_iterate.hpp
index 5aa3a5c..06c4203 100644
--- a/include/boost/utility/detail/result_of_iterate.hpp
+++ b/include/boost/utility/detail/result_of_iterate.hpp
@@ -21,21 +21,21 @@
template
struct result_of
- : detail::result_of {};
+ : detail::result_of_impl {};
#endif
namespace detail {
template
-struct result_of
+struct result_of_impl
{
typedef R type;
};
template
-struct result_of
+struct result_of_impl
{
typedef R type;
};
@@ -45,7 +45,7 @@ struct result_of
#if BOOST_PP_ITERATION() > 1 && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
template
-struct result_of
{
@@ -54,7 +54,7 @@ struct result_of
-struct result_of
@@ -64,7 +64,7 @@ struct result_of
-struct result_of
@@ -74,7 +74,7 @@ struct result_of
-struct result_of
diff --git a/include/boost/utility/result_of.hpp b/include/boost/utility/result_of.hpp
index 668cb69..4db448e 100644
--- a/include/boost/utility/result_of.hpp
+++ b/include/boost/utility/result_of.hpp
@@ -39,9 +39,8 @@ struct get_result_of
template
struct get_result_of
-{
- typedef typename F::template result::type type;
-};
+ : F::template result
+{};
template
struct get_result_of
@@ -50,7 +49,7 @@ struct get_result_of
};
template
-struct result_of : get_result_of::value)> {};
+struct result_of_impl : get_result_of::value)> {};
} // end namespace detail
From ce6e9c669869c1b83936d57f78f94cc342b97c11 Mon Sep 17 00:00:00 2001
From: Peter Dimov
Date: Thu, 22 Jun 2006 12:47:19 +0000
Subject: [PATCH 002/164] Digital Mars support (Pavel Vozenilek)
[SVN r34373]
---
include/boost/current_function.hpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/boost/current_function.hpp b/include/boost/current_function.hpp
index 40e3abd..aa5756e 100644
--- a/include/boost/current_function.hpp
+++ b/include/boost/current_function.hpp
@@ -32,6 +32,10 @@ inline void current_function_helper()
# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
+#elif defined(__DMC__) && (__DMC__ >= 0x810)
+
+# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
+
#elif defined(__FUNCSIG__)
# define BOOST_CURRENT_FUNCTION __FUNCSIG__
From bf968794c95e7c8f081b909a105e90abedf57453 Mon Sep 17 00:00:00 2001
From: Hartmut Kaiser
Date: Mon, 26 Jun 2006 01:58:38 +0000
Subject: [PATCH 003/164] Fixed an ambiguity.
[SVN r34403]
---
include/boost/utility/value_init.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/utility/value_init.hpp b/include/boost/utility/value_init.hpp
index d991486..5591b9b 100644
--- a/include/boost/utility/value_init.hpp
+++ b/include/boost/utility/value_init.hpp
@@ -40,7 +40,7 @@ template
struct select_base
{
typedef typename
- detail::if_true< ::boost::is_const::value >
+ ::boost::detail::if_true< ::boost::is_const::value >
::template then< const_T_base, non_const_T_base >::type type ;
} ;
From e55610a0d08ea0567225d36dfb9a5ec6ee988394 Mon Sep 17 00:00:00 2001
From: Fernando Cacciola
Date: Mon, 26 Jun 2006 18:01:38 +0000
Subject: [PATCH 004/164] Some additional functions added to optional (being
new there won't be regressions)
[SVN r34411]
---
in_place_factories.html | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/in_place_factories.html b/in_place_factories.html
index 9b71559..b36387d 100644
--- a/in_place_factories.html
+++ b/in_place_factories.html
@@ -3,9 +3,8 @@
-
-
-Header
+
+In_place_factory Documentation
@@ -77,7 +76,7 @@ object is likely to be temporary and serve no purpose besides being the source
A solution to this problem is to support direct construction of the contained
object right in the container's storage.
-In this shceme, the user supplies the arguments for the X constructor
+In this scheme, the user supplies the arguments for the X constructor
directly to the container:
struct C
{
@@ -138,7 +137,7 @@ The following simplified example shows the basic idea. A complete example follow
void foo()
{
- C c( in_place(123,"hello" ) ;
+ C c( in_place(123,"hello") ) ;
}