diff --git a/base_from_member.html b/base_from_member.html index df4add2..07e144e 100644 --- a/base_from_member.html +++ b/base_from_member.html @@ -174,16 +174,18 @@ value of zero if it is omitted. The class template has a protected data member called member that the derived class can use for later base classes (or itself).
-If the variadic template arguments and r-value reference features of C++2011
-are present, there will be a single constructor template. It implements
-"perfect forwarding" to the best constructor call of
-member
(if any). The constructor template is marked both
-constexpr
and explicit
. The former will be ignored
-if the corresponding inner constructor call (of member
) does not
-have the marker. The latter binds the other way; always taking effect, even
-when the inner constructor call does not have the marker. The constructor
-template propagates the noexcept
status of the inner constructor
-call.
If the appropriate features of C++2011 are present, there will be a single
+constructor template. It implements "perfect forwarding" to the best
+constructor call of member
(if any). The constructor template is
+marked both constexpr
and explicit
. The former will
+be ignored if the corresponding inner constructor call (of member
)
+does not have the marker. The latter binds the other way; always taking
+effect, even when the inner constructor call does not have the marker. The
+constructor template propagates the noexcept
status of the inner
+constructor call. (The constructor template has a trailing parameter with a
+default value that disables the template when its signature is too close to the
+signatures of the automatically-defined non-template copy- and/or
+move-constructors of base_from_member
.)
On earlier-standard compilers, there is a default constructor and several
constructor member templates. These constructor templates can take as many
@@ -385,7 +387,7 @@ a constructor call but std::nullptr_t
cannot.)
Revised: 11 February 2012
+Revised: 16 February 2012
Copyright 2001, 2003, 2004, 2012 Daryle Walker. Use, modification, and distribution
are subject to the Boost Software License, Version 1.0. (See accompanying
diff --git a/include/boost/utility/base_from_member.hpp b/include/boost/utility/base_from_member.hpp
index 8148077..8d17522 100644
--- a/include/boost/utility/base_from_member.hpp
+++ b/include/boost/utility/base_from_member.hpp
@@ -15,6 +15,10 @@
#include