Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65708 - in branches/release: boost boost/type_traits boost/type_traits/detail boost/utility libs/type_traits libs/type_traits/doc libs/type_traits/doc/html libs/type_traits/doc/html/boost_typetraits libs/type_traits/doc/html/boost_typetraits/category libs/type_traits/doc/html/boost_typetraits/examples libs/type_traits/doc/html/boost_typetraits/reference libs/type_traits/test libs/utility libs/utility/doc libs/utility/doc/html
From: john_at_[hidden]
Date: 2010-10-01 07:11:26


Author: johnmaddock
Date: 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
New Revision: 65708
URL: http://svn.boost.org/trac/boost/changeset/65708

Log:
Merges changes from Trunk: refer to history.qbk for the details.
Added:
   branches/release/boost/type_traits/add_lvalue_reference.hpp
      - copied unchanged from r65706, /trunk/boost/type_traits/add_lvalue_reference.hpp
   branches/release/boost/type_traits/add_rvalue_reference.hpp
      - copied unchanged from r65706, /trunk/boost/type_traits/add_rvalue_reference.hpp
   branches/release/boost/type_traits/common_type.hpp
      - copied unchanged from r65706, /trunk/boost/type_traits/common_type.hpp
   branches/release/boost/type_traits/conditional.hpp
      - copied unchanged from r65706, /trunk/boost/type_traits/conditional.hpp
   branches/release/boost/type_traits/detail/common_type_imp.hpp
      - copied unchanged from r65706, /trunk/boost/type_traits/detail/common_type_imp.hpp
   branches/release/boost/utility/declval.hpp
      - copied unchanged from r65706, /trunk/boost/utility/declval.hpp
   branches/release/libs/type_traits/doc/add_lvalue_reference.qbk
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/add_lvalue_reference.qbk
   branches/release/libs/type_traits/doc/add_rvalue_reference.qbk
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/add_rvalue_reference.qbk
   branches/release/libs/type_traits/doc/common_type.qbk
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/common_type.qbk
   branches/release/libs/type_traits/doc/conditional.qbk
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/conditional.qbk
   branches/release/libs/type_traits/doc/html/boost_typetraits/examples/improved_min.html
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/html/boost_typetraits/examples/improved_min.html
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_lvalue_reference.html
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/html/boost_typetraits/reference/add_lvalue_reference.html
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_rvalue_reference.html
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/html/boost_typetraits/reference/add_rvalue_reference.html
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/common_type.html
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/html/boost_typetraits/reference/common_type.html
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/common_type_hpp.html
      - copied unchanged from r65707, /trunk/libs/type_traits/doc/html/boost_typetraits/reference/common_type_hpp.html
   branches/release/libs/type_traits/test/add_lvalue_reference_test.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/add_lvalue_reference_test.cpp
   branches/release/libs/type_traits/test/add_rvalue_reference_test.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/add_rvalue_reference_test.cpp
   branches/release/libs/type_traits/test/alignment_of_a2_test.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/alignment_of_a2_test.cpp
   branches/release/libs/type_traits/test/common_type_fail.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/common_type_fail.cpp
   branches/release/libs/type_traits/test/common_type_test.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/common_type_test.cpp
   branches/release/libs/type_traits/test/conditional_test.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/conditional_test.cpp
   branches/release/libs/type_traits/test/type_traits_test.cpp
      - copied unchanged from r65706, /trunk/libs/type_traits/test/type_traits_test.cpp
   branches/release/libs/utility/doc/
      - copied from r65706, /trunk/libs/utility/doc/
   branches/release/libs/utility/doc/Jamfile.v2
      - copied unchanged from r65706, /trunk/libs/utility/doc/Jamfile.v2
   branches/release/libs/utility/doc/declval.qbk
      - copied unchanged from r65706, /trunk/libs/utility/doc/declval.qbk
   branches/release/libs/utility/doc/html/
      - copied from r65706, /trunk/libs/utility/doc/html/
   branches/release/libs/utility/doc/html/declval.html
      - copied unchanged from r65706, /trunk/libs/utility/doc/html/declval.html
Removed:
   branches/release/libs/type_traits/test/alignment_of_test_a2.cpp
Properties modified:
   branches/release/boost/type_traits/ (props changed)
   branches/release/boost/utility/ (props changed)
   branches/release/libs/type_traits/ (props changed)
   branches/release/libs/type_traits/doc/ (props changed)
   branches/release/libs/utility/ (props changed)
Text files modified:
   branches/release/boost/type_traits.hpp | 26 ++++++----
   branches/release/boost/type_traits/is_signed.hpp | 11 +++-
   branches/release/boost/type_traits/is_unsigned.hpp | 11 +++-
   branches/release/boost/type_traits/is_virtual_base_of.hpp | 42 ++++++++--------
   branches/release/libs/type_traits/doc/add_reference.qbk | 6 ++
   branches/release/libs/type_traits/doc/examples.qbk | 17 +++++++
   branches/release/libs/type_traits/doc/history.qbk | 5 ++
   branches/release/libs/type_traits/doc/html/boost_typetraits/background.html | 22 ++++----
   branches/release/libs/type_traits/doc/html/boost_typetraits/category/transform.html | 14 +++++
   branches/release/libs/type_traits/doc/html/boost_typetraits/examples.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html | 6 +-
   branches/release/libs/type_traits/doc/html/boost_typetraits/history.html | 20 +++++++
   branches/release/libs/type_traits/doc/html/boost_typetraits/intrinsics.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference.html | 14 ++++-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html | 8 +-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html | 8 +-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html | 20 ++++++-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html | 8 +-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html | 6 +-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/decay.html | 8 +-
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html | 4
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/promote.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html | 2
   branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html | 2
   branches/release/libs/type_traits/doc/html/index.html | 10 +++
   branches/release/libs/type_traits/doc/transform_traits.qbk | 12 +++++
   branches/release/libs/type_traits/doc/type_traits.qbk | 8 +++
   branches/release/libs/type_traits/test/Jamfile.v2 | 15 +++++
   branches/release/libs/type_traits/test/aligned_storage_empy_test.cpp | 2
   branches/release/libs/type_traits/test/aligned_storage_test.cpp | 6 ++
   branches/release/libs/type_traits/test/alignment_of_test.cpp | 12 +++++
   branches/release/libs/type_traits/test/decay_test.cpp | 7 ++
   branches/release/libs/type_traits/test/has_operator_new_test.cpp | 7 ++
   branches/release/libs/type_traits/test/is_abstract_test.cpp | 96 ++++++++++++++++++++--------------------
   branches/release/libs/type_traits/test/is_convertible_test.cpp | 7 ++
   branches/release/libs/type_traits/test/is_member_func_test.cpp | 3 +
   branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp | 15 ++++++
   branches/release/libs/type_traits/test/promote_enum_msvc_bug_test.cpp | 5 ++
   branches/release/libs/type_traits/test/promote_enum_test.cpp | 5 ++
   branches/release/libs/type_traits/test/test.hpp | 47 ++++++++++++-------
   branches/release/libs/utility/index.html | 2
   51 files changed, 376 insertions(+), 169 deletions(-)

Modified: branches/release/boost/type_traits.hpp
==============================================================================
--- branches/release/boost/type_traits.hpp (original)
+++ branches/release/boost/type_traits.hpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -12,10 +12,19 @@
 
 #include "boost/type_traits/add_const.hpp"
 #include "boost/type_traits/add_cv.hpp"
+#include "boost/type_traits/add_lvalue_reference.hpp"
 #include "boost/type_traits/add_pointer.hpp"
 #include "boost/type_traits/add_reference.hpp"
+#include "boost/type_traits/add_rvalue_reference.hpp"
 #include "boost/type_traits/add_volatile.hpp"
+#include "boost/type_traits/aligned_storage.hpp"
 #include "boost/type_traits/alignment_of.hpp"
+#include "boost/type_traits/common_type.hpp"
+#include "boost/type_traits/conditional.hpp"
+#include "boost/type_traits/decay.hpp"
+#include "boost/type_traits/extent.hpp"
+#include "boost/type_traits/floating_point_promotion.hpp"
+#include "boost/type_traits/function_traits.hpp"
 #if !defined(__BORLANDC__) && !defined(__CUDACC__)
 #include "boost/type_traits/has_new_operator.hpp"
 #endif
@@ -28,14 +37,13 @@
 #include "boost/type_traits/has_trivial_copy.hpp"
 #include "boost/type_traits/has_trivial_destructor.hpp"
 #include "boost/type_traits/has_virtual_destructor.hpp"
-#include "boost/type_traits/is_signed.hpp"
-#include "boost/type_traits/is_unsigned.hpp"
 #include "boost/type_traits/is_abstract.hpp"
 #include "boost/type_traits/is_arithmetic.hpp"
 #include "boost/type_traits/is_array.hpp"
 #include "boost/type_traits/is_base_and_derived.hpp"
 #include "boost/type_traits/is_base_of.hpp"
 #include "boost/type_traits/is_class.hpp"
+#include <boost/type_traits/is_complex.hpp>
 #include "boost/type_traits/is_compound.hpp"
 #include "boost/type_traits/is_const.hpp"
 #include "boost/type_traits/is_convertible.hpp"
@@ -46,6 +54,7 @@
 #include "boost/type_traits/is_function.hpp"
 #include "boost/type_traits/is_fundamental.hpp"
 #include "boost/type_traits/is_integral.hpp"
+#include "boost/type_traits/is_lvalue_reference.hpp"
 #include "boost/type_traits/is_member_function_pointer.hpp"
 #include "boost/type_traits/is_member_object_pointer.hpp"
 #include "boost/type_traits/is_member_pointer.hpp"
@@ -55,16 +64,18 @@
 #include "boost/type_traits/is_pointer.hpp"
 #include "boost/type_traits/is_reference.hpp"
 #include "boost/type_traits/is_rvalue_reference.hpp"
-#include "boost/type_traits/is_lvalue_reference.hpp"
+#include "boost/type_traits/is_signed.hpp"
 #include "boost/type_traits/is_same.hpp"
 #include "boost/type_traits/is_scalar.hpp"
 #include "boost/type_traits/is_stateless.hpp"
 #include "boost/type_traits/is_union.hpp"
+#include "boost/type_traits/is_unsigned.hpp"
 #include "boost/type_traits/is_void.hpp"
 #include "boost/type_traits/is_virtual_base_of.hpp"
 #include "boost/type_traits/is_volatile.hpp"
+#include <boost/type_traits/make_unsigned.hpp>
+#include <boost/type_traits/make_signed.hpp>
 #include "boost/type_traits/rank.hpp"
-#include "boost/type_traits/extent.hpp"
 #include "boost/type_traits/remove_bounds.hpp"
 #include "boost/type_traits/remove_extent.hpp"
 #include "boost/type_traits/remove_all_extents.hpp"
@@ -74,17 +85,10 @@
 #include "boost/type_traits/remove_reference.hpp"
 #include "boost/type_traits/remove_volatile.hpp"
 #include "boost/type_traits/type_with_alignment.hpp"
-#include "boost/type_traits/function_traits.hpp"
-#include "boost/type_traits/aligned_storage.hpp"
-#include "boost/type_traits/floating_point_promotion.hpp"
 #if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238))
 #include "boost/type_traits/integral_promotion.hpp"
 #include "boost/type_traits/promote.hpp"
 #endif
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/type_traits/is_complex.hpp>
 
 #include "boost/type_traits/ice.hpp"
 

Modified: branches/release/boost/type_traits/is_signed.hpp
==============================================================================
--- branches/release/boost/type_traits/is_signed.hpp (original)
+++ branches/release/boost/type_traits/is_signed.hpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -24,14 +24,19 @@
 
 namespace detail{
 
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238)
+#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
 
 template <class T>
 struct is_signed_values
 {
+ //
+ // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
+ // rather than "real" static constants simply doesn't work or give
+ // the correct answer.
+ //
    typedef typename remove_cv<T>::type no_cv_t;
- BOOST_STATIC_CONSTANT(no_cv_t, minus_one = (static_cast<no_cv_t>(-1)));
- BOOST_STATIC_CONSTANT(no_cv_t, zero = (static_cast<no_cv_t>(0)));
+ static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
+ static const no_cv_t zero = (static_cast<no_cv_t>(0));
 };
 
 template <class T>

Modified: branches/release/boost/type_traits/is_unsigned.hpp
==============================================================================
--- branches/release/boost/type_traits/is_unsigned.hpp (original)
+++ branches/release/boost/type_traits/is_unsigned.hpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -24,14 +24,19 @@
 
 namespace detail{
 
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238)
+#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
 
 template <class T>
 struct is_unsigned_values
 {
+ //
+ // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
+ // rather than "real" static constants simply doesn't work or give
+ // the correct answer.
+ //
    typedef typename remove_cv<T>::type no_cv_t;
- BOOST_STATIC_CONSTANT(no_cv_t, minus_one = (static_cast<no_cv_t>(-1)));
- BOOST_STATIC_CONSTANT(no_cv_t, zero = (static_cast<no_cv_t>(0)));
+ static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
+ static const no_cv_t zero = (static_cast<no_cv_t>(0));
 };
 
 template <class T>

Modified: branches/release/boost/type_traits/is_virtual_base_of.hpp
==============================================================================
--- branches/release/boost/type_traits/is_virtual_base_of.hpp (original)
+++ branches/release/boost/type_traits/is_virtual_base_of.hpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -37,37 +37,37 @@
 struct is_virtual_base_of_impl<Base, Derived, mpl::true_>
 {
 #ifdef __BORLANDC__
- struct X : public virtual Derived, public virtual Base
+ struct boost_type_traits_internal_struct_X : public virtual Derived, public virtual Base
     {
- X();
- X(const X&);
- X& operator=(const X&);
- ~X()throw();
+ boost_type_traits_internal_struct_X();
+ boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
+ boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
+ ~boost_type_traits_internal_struct_X()throw();
     };
- struct Y : public virtual Derived
+ struct boost_type_traits_internal_struct_Y : public virtual Derived
     {
- Y();
- Y(const Y&);
- Y& operator=(const Y&);
- ~Y()throw();
+ boost_type_traits_internal_struct_Y();
+ boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
+ boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
+ ~boost_type_traits_internal_struct_Y()throw();
     };
 #else
- struct X : Derived, virtual Base
+ struct boost_type_traits_internal_struct_X : Derived, virtual Base
     {
- X();
- X(const X&);
- X& operator=(const X&);
- ~X()throw();
+ boost_type_traits_internal_struct_X();
+ boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
+ boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
+ ~boost_type_traits_internal_struct_X()throw();
     };
- struct Y : Derived
+ struct boost_type_traits_internal_struct_Y : Derived
     {
- Y();
- Y(const Y&);
- Y& operator=(const Y&);
- ~Y()throw();
+ boost_type_traits_internal_struct_Y();
+ boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
+ boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
+ ~boost_type_traits_internal_struct_Y()throw();
     };
 #endif
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(X)==sizeof(Y)));
+ BOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X)==sizeof(boost_type_traits_internal_struct_Y)));
 };
 
 template<typename Base, typename Derived>

Modified: branches/release/libs/type_traits/doc/add_reference.qbk
==============================================================================
--- branches/release/libs/type_traits/doc/add_reference.qbk (original)
+++ branches/release/libs/type_traits/doc/add_reference.qbk 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,6 +7,12 @@
 
 [section:add_reference add_reference]
 
+[note This trait has been made obsolete by __add_lvalue_reference and __add_rvalue_reference,
+and new code should use these new traits rather than __is_reference which is retained
+for backwards compatibility only.
+]
+
+
    template <class T>
    struct add_reference
    {

Modified: branches/release/libs/type_traits/doc/examples.qbk
==============================================================================
--- branches/release/libs/type_traits/doc/examples.qbk (original)
+++ branches/release/libs/type_traits/doc/examples.qbk 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -216,5 +216,22 @@
 
 [endsect]
 
+[section:improved_min Improving std::min with common_type]
+
+An improved `std::min` function could be written like this:
+
+ template <class T, class U>
+ typename __common_type<T, U>::type min(T t, T u)
+ {
+ return t < u ? t : u;
+ }
+
+And now expressions such as:
+
+ min(1, 2.0)
+
+will actually compile and return the correct type!
+
+[endsect]
 [endsect]
 

Modified: branches/release/libs/type_traits/doc/history.qbk
==============================================================================
--- branches/release/libs/type_traits/doc/history.qbk (original)
+++ branches/release/libs/type_traits/doc/history.qbk 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,6 +7,11 @@
 
 [section:history History]
 
+[h4 Boost 1.45.0]
+
+* Added new traits __add_rvalue_reference, __add_lvalue_reference and __common_type.
+* Minor fixes to __is_signed, __is_unsigned and __is_virtual_base_of.
+
 [h4 Boost 1.44.0]
 
 * Added support for rvalue references throughout the library, plus two new traits classes

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/background.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/background.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/background.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -56,7 +56,7 @@
       method available to them.
     </p>
 <a name="boost_typetraits.background.type_traits"></a><h5>
-<a name="id904364"></a>
+<a name="id991196"></a>
       <a class="link" href="background.html#boost_typetraits.background.type_traits">Type Traits</a>
     </h5>
 <p>
@@ -84,7 +84,7 @@
       given.
     </p>
 <a name="boost_typetraits.background.implementation"></a><h5>
-<a name="id904427"></a>
+<a name="id991259"></a>
       <a class="link" href="background.html#boost_typetraits.background.implementation">Implementation</a>
     </h5>
 <p>
@@ -174,7 +174,7 @@
       in the default template.
     </p>
 <a name="boost_typetraits.background.optimized_copy"></a><h5>
-<a name="id905164"></a>
+<a name="id999717"></a>
       <a class="link" href="background.html#boost_typetraits.background.optimized_copy">Optimized copy</a>
     </h5>
 <p>
@@ -247,7 +247,7 @@
       otherwise it will call the "slow but safe version".
     </p>
 <a name="boost_typetraits.background.was_it_worth_it_"></a><h5>
-<a name="id910514"></a>
+<a name="id1000085"></a>
       <a class="link" href="background.html#boost_typetraits.background.was_it_worth_it_">Was it worth it?</a>
     </h5>
 <p>
@@ -280,7 +280,7 @@
         </li>
 </ul></div>
 <div class="table">
-<a name="id910559"></a><p class="title"><b>Table&#160;1.1.&#160;Time taken to copy 1000 elements using `copy&lt;const T*, T*&gt;` (times
+<a name="id1000130"></a><p class="title"><b>Table&#160;1.1.&#160;Time taken to copy 1000 elements using `copy&lt;const T*, T*&gt;` (times
       in micro-seconds)</b></p>
 <div class="table-contents"><table class="table" summary="Time taken to copy 1000 elements using `copy&lt;const T*, T*&gt;` (times
       in micro-seconds)">
@@ -379,7 +379,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="boost_typetraits.background.pair_of_references"></a><h5>
-<a name="id910709"></a>
+<a name="id1000280"></a>
       <a class="link" href="background.html#boost_typetraits.background.pair_of_references">Pair of References</a>
     </h5>
 <p>
@@ -416,7 +416,7 @@
       to hold non-reference types, references, and constant references:
     </p>
 <div class="table">
-<a name="id910970"></a><p class="title"><b>Table&#160;1.2.&#160;Required Constructor Argument Types</b></p>
+<a name="id1000541"></a><p class="title"><b>Table&#160;1.2.&#160;Required Constructor Argument Types</b></p>
 <div class="table-contents"><table class="table" summary="Required Constructor Argument Types">
 <colgroup>
 <col>
@@ -481,7 +481,7 @@
       adds a reference to its type, unless it is already a reference.
     </p>
 <div class="table">
-<a name="id911078"></a><p class="title"><b>Table&#160;1.3.&#160;Using add_reference to synthesize the correct constructor type</b></p>
+<a name="id1000649"></a><p class="title"><b>Table&#160;1.3.&#160;Using add_reference to synthesize the correct constructor type</b></p>
 <div class="table-contents"><table class="table" summary="Using add_reference to synthesize the correct constructor type">
 <colgroup>
 <col>
@@ -597,7 +597,7 @@
       easier to maintain and easier to understand.
     </p>
 <a name="boost_typetraits.background.conclusion"></a><h5>
-<a name="id911547"></a>
+<a name="id1001118"></a>
       <a class="link" href="background.html#boost_typetraits.background.conclusion">Conclusion</a>
     </h5>
 <p>
@@ -610,7 +610,7 @@
       can be optimal as well as generic.
     </p>
 <a name="boost_typetraits.background.acknowledgements"></a><h5>
-<a name="id911564"></a>
+<a name="id1001135"></a>
       <a class="link" href="background.html#boost_typetraits.background.acknowledgements">Acknowledgements</a>
     </h5>
 <p>
@@ -618,7 +618,7 @@
       comments when preparing this article.
     </p>
 <a name="background.references"></a><a name="boost_typetraits.background.references"></a><h5>
-<a name="id911585"></a>
+<a name="id1001156"></a>
       <a class="link" href="background.html#boost_typetraits.background.references">References</a>
     </h5>
 <div class="orderedlist"><ol type="1">

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/category/transform.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/category/transform.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/category/transform.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -43,14 +43,26 @@
 <span class="keyword">struct</span> <a class="link" href="../reference/add_cv.html" title="add_cv">add_cv</a><span class="special">;</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="../reference/add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <a class="link" href="../reference/add_pointer.html" title="add_pointer">add_pointer</a><span class="special">;</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <a class="link" href="../reference/add_reference.html" title="add_reference">add_reference</a><span class="special">;</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="../reference/add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <a class="link" href="../reference/add_volatile.html" title="add_volatile">add_volatile</a><span class="special">;</span>
 
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">bool</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="../reference/conditional.html" title="conditional">conditional</a><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="../reference/common_type.html" title="common_type">common_type</a><span class="special">;</span>
+
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <a class="link" href="../reference/decay.html" title="decay">decay</a><span class="special">;</span>
 
@@ -91,7 +103,7 @@
 <span class="keyword">struct</span> <a class="link" href="../reference/remove_volatile.html" title="remove_volatile">remove_volatile</a><span class="special">;</span>
 </pre>
 <a name="boost_typetraits.category.transform.broken_compiler_workarounds_"></a><h5>
-<a name="id915484"></a>
+<a name="id1005216"></a>
         <a class="link" href="transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">Broken
         Compiler Workarounds:</a>
       </h5>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/examples.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/examples.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/examples.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -37,6 +37,8 @@
       of std::iter_swap</a></span></dt>
 <dt><span class="section"><a href="examples/to_double.html"> Convert Numeric
       Types and Enums to double</a></span></dt>
+<dt><span class="section"><a href="examples/improved_min.html"> Improving std::min
+ with common_type</a></span></dt>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../examples.html" title="Examples">
 <link rel="prev" href="iter.html" title="An improved Version of std::iter_swap">
-<link rel="next" href="../reference.html" title="Alphabetical Reference">
+<link rel="next" href="improved_min.html" title="Improving std::min with common_type">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="iter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="iter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="improved_min.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -52,7 +52,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="iter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="iter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="improved_min.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/history.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/history.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/history.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -26,8 +26,24 @@
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_typetraits.history"></a><a class="link" href="history.html" title="History"> History</a>
 </h2></div></div></div>
+<a name="boost_typetraits.history.boost_1_45_0"></a><h5>
+<a name="id1061133"></a>
+ <a class="link" href="history.html#boost_typetraits.history.boost_1_45_0">Boost 1.45.0</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Added new traits <a class="link" href="reference/add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a>,
+ <a class="link" href="reference/add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a>
+ and <a class="link" href="reference/common_type.html" title="common_type">common_type</a>.
+ </li>
+<li>
+ Minor fixes to <a class="link" href="reference/is_signed.html" title="is_signed">is_signed</a>,
+ <a class="link" href="reference/is_unsigned.html" title="is_unsigned">is_unsigned</a>
+ and <a class="link" href="reference/is_virtual_base_of.html" title="is_virtual_base_of">is_virtual_base_of</a>.
+ </li>
+</ul></div>
 <a name="boost_typetraits.history.boost_1_44_0"></a><h5>
-<a name="id965403"></a>
+<a name="id1061193"></a>
       <a class="link" href="history.html#boost_typetraits.history.boost_1_44_0">Boost 1.44.0</a>
     </h5>
 <div class="itemizedlist"><ul type="disc">
@@ -43,7 +59,7 @@
         </li>
 </ul></div>
 <a name="boost_typetraits.history.boost_1_42_0"></a><h5>
-<a name="id965458"></a>
+<a name="id1061249"></a>
       <a class="link" href="history.html#boost_typetraits.history.boost_1_42_0">Boost 1.42.0</a>
     </h5>
 <div class="itemizedlist"><ul type="disc"><li>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/intrinsics.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/intrinsics.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/intrinsics.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -99,7 +99,7 @@
       of the following macros:
     </p>
 <div class="table">
-<a name="id917632"></a><p class="title"><b>Table&#160;1.4.&#160;Macros for Compiler Intrinsics</b></p>
+<a name="id1006817"></a><p class="title"><b>Table&#160;1.4.&#160;Macros for Compiler Intrinsics</b></p>
 <div class="table-contents"><table class="table" summary="Macros for Compiler Intrinsics">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
-<link rel="prev" href="examples/to_double.html" title="Convert Numeric Types and Enums to double">
+<link rel="prev" href="examples/improved_min.html" title="Improving std::min with common_type">
 <link rel="next" href="reference/add_const.html" title="add_const">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples/to_double.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples/improved_min.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -29,11 +29,15 @@
 <div class="toc"><dl>
 <dt><span class="section"> add_const</span></dt>
 <dt><span class="section"> add_cv</span></dt>
+<dt><span class="section"> add_lvalue_reference</span></dt>
 <dt><span class="section"> add_pointer</span></dt>
 <dt><span class="section"> add_reference</span></dt>
+<dt><span class="section"> add_rvalue_reference</span></dt>
 <dt><span class="section"> add_volatile</span></dt>
 <dt><span class="section"> aligned_storage</span></dt>
 <dt><span class="section"> alignment_of</span></dt>
+<dt><span class="section"> conditional</span></dt>
+<dt><span class="section"> common_type</span></dt>
 <dt><span class="section"> decay</span></dt>
 <dt><span class="section"> extent</span></dt>
 <dt><span class="section"><a href="reference/floating_point_promotion.html">
@@ -105,6 +109,10 @@
 <dt><span class="section"> remove_volatile</span></dt>
 <dt><span class="section"> type_with_alignment</span></dt>
 </dl></div>
+<p>
+ </p>
+<p>
+ </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -119,7 +127,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples/to_double.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples/improved_min.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id923691"></a><p class="title"><b>Table&#160;1.5.&#160;Examples</b></p>
+<a name="id1013096"></a><p class="title"><b>Table&#160;1.5.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../reference.html" title="Alphabetical Reference">
 <link rel="prev" href="add_const.html" title="add_const">
-<link rel="next" href="add_pointer.html" title="add_pointer">
+<link rel="next" href="add_lvalue_reference.html" title="add_lvalue_reference">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id924169"></a><p class="title"><b>Table&#160;1.6.&#160;Examples</b></p>
+<a name="id1013574"></a><p class="title"><b>Table&#160;1.6.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>
@@ -142,7 +142,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_cv.html" title="add_cv">
+<link rel="prev" href="add_lvalue_reference.html" title="add_lvalue_reference">
 <link rel="next" href="add_reference.html" title="add_reference">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -56,7 +56,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id924698"></a><p class="title"><b>Table&#160;1.7.&#160;Examples</b></p>
+<a name="id1014706"></a><p class="title"><b>Table&#160;1.8.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>
@@ -141,7 +141,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../reference.html" title="Alphabetical Reference">
 <link rel="prev" href="add_pointer.html" title="add_pointer">
-<link rel="next" href="add_volatile.html" title="add_volatile">
+<link rel="next" href="add_rvalue_reference.html" title="add_rvalue_reference">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,12 +20,24 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_typetraits.reference.add_reference"></a><a class="link" href="add_reference.html" title="add_reference"> add_reference</a>
 </h3></div></div></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This trait has been made obsolete by <a class="link" href="add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a>
+ and <a class="link" href="add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a>,
+ and new code should use these new traits rather than <a class="link" href="is_reference.html" title="is_reference">is_reference</a>
+ which is retained for backwards compatibility only.
+ </p></td></tr>
+</table></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">add_reference</span>
 <span class="special">{</span>
@@ -53,7 +65,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id925175"></a><p class="title"><b>Table&#160;1.8.&#160;Examples</b></p>
+<a name="id1015204"></a><p class="title"><b>Table&#160;1.9.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>
@@ -138,7 +150,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_reference.html" title="add_reference">
+<link rel="prev" href="add_rvalue_reference.html" title="add_rvalue_reference">
 <link rel="next" href="aligned_storage.html" title="aligned_storage">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aligned_storage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aligned_storage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id925645"></a><p class="title"><b>Table&#160;1.9.&#160;Examples</b></p>
+<a name="id1017914"></a><p class="title"><b>Table&#160;1.11.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>
@@ -140,7 +140,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="add_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aligned_storage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aligned_storage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../reference.html" title="Alphabetical Reference">
 <link rel="prev" href="aligned_storage.html" title="aligned_storage">
-<link rel="next" href="decay.html" title="decay">
+<link rel="next" href="conditional.html" title="conditional">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="aligned_storage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="aligned_storage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conditional.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -76,7 +76,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="aligned_storage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="aligned_storage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conditional.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/decay.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/decay.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/decay.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">
 <link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="alignment_of.html" title="alignment_of">
+<link rel="prev" href="common_type.html" title="common_type">
 <link rel="next" href="extent.html" title="extent">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="alignment_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="common_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -48,7 +48,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id926890"></a><p class="title"><b>Table&#160;1.10.&#160;Examples</b></p>
+<a name="id1023240"></a><p class="title"><b>Table&#160;1.12.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>
@@ -145,7 +145,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="alignment_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="common_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -49,7 +49,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id930080"></a><p class="title"><b>Table&#160;1.11.&#160;Examples</b></p>
+<a name="id1024792"></a><p class="title"><b>Table&#160;1.13.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -59,7 +59,7 @@
         </p></td></tr>
 </table></div>
 <div class="table">
-<a name="id930453"></a><p class="title"><b>Table&#160;1.12.&#160;Function Traits Members</b></p>
+<a name="id1025712"></a><p class="title"><b>Table&#160;1.14.&#160;Function Traits Members</b></p>
 <div class="table-contents"><table class="table" summary="Function Traits Members">
 <colgroup>
 <col>
@@ -122,7 +122,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id930671"></a><p class="title"><b>Table&#160;1.13.&#160;Examples</b></p>
+<a name="id1025929"></a><p class="title"><b>Table&#160;1.15.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -49,7 +49,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id936317"></a><p class="title"><b>Table&#160;1.14.&#160;Examples</b></p>
+<a name="id1032258"></a><p class="title"><b>Table&#160;1.16.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id956877"></a><p class="title"><b>Table&#160;1.15.&#160;Examples</b></p>
+<a name="id1052613"></a><p class="title"><b>Table&#160;1.17.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id957359"></a><p class="title"><b>Table&#160;1.16.&#160;Examples</b></p>
+<a name="id1053095"></a><p class="title"><b>Table&#160;1.18.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/promote.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/promote.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/promote.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -51,7 +51,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id958981"></a><p class="title"><b>Table&#160;1.17.&#160;Examples</b></p>
+<a name="id1053620"></a><p class="title"><b>Table&#160;1.19.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id960078"></a><p class="title"><b>Table&#160;1.18.&#160;Examples</b></p>
+<a name="id1056355"></a><p class="title"><b>Table&#160;1.20.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id960622"></a><p class="title"><b>Table&#160;1.19.&#160;Examples</b></p>
+<a name="id1056899"></a><p class="title"><b>Table&#160;1.21.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id962791"></a><p class="title"><b>Table&#160;1.20.&#160;Examples</b></p>
+<a name="id1057429"></a><p class="title"><b>Table&#160;1.22.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id963320"></a><p class="title"><b>Table&#160;1.21.&#160;Examples</b></p>
+<a name="id1057959"></a><p class="title"><b>Table&#160;1.23.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -55,7 +55,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id963874"></a><p class="title"><b>Table&#160;1.22.&#160;Examples</b></p>
+<a name="id1059606"></a><p class="title"><b>Table&#160;1.24.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id964387"></a><p class="title"><b>Table&#160;1.23.&#160;Examples</b></p>
+<a name="id1060118"></a><p class="title"><b>Table&#160;1.25.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html (original)
+++ branches/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id964889"></a><p class="title"><b>Table&#160;1.24.&#160;Examples</b></p>
+<a name="id1060620"></a><p class="title"><b>Table&#160;1.26.&#160;Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: branches/release/libs/type_traits/doc/html/index.html
==============================================================================
--- branches/release/libs/type_traits/doc/html/index.html (original)
+++ branches/release/libs/type_traits/doc/html/index.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -30,7 +30,7 @@
       Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek</p></div>
 <div><div class="legalnotice">
-<a name="id904215"></a><p>
+<a name="id991047"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -75,16 +75,22 @@
       of std::iter_swap</a></span></dt>
 <dt><span class="section"><a href="boost_typetraits/examples/to_double.html"> Convert Numeric
       Types and Enums to double</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/examples/improved_min.html"> Improving std::min
+ with common_type</a></span></dt>
 </dl></dd>
 <dt><span class="section"> Alphabetical Reference</span></dt>
 <dd><dl>
 <dt><span class="section"> add_const</span></dt>
 <dt><span class="section"> add_cv</span></dt>
+<dt><span class="section"> add_lvalue_reference</span></dt>
 <dt><span class="section"> add_pointer</span></dt>
 <dt><span class="section"> add_reference</span></dt>
+<dt><span class="section"> add_rvalue_reference</span></dt>
 <dt><span class="section"> add_volatile</span></dt>
 <dt><span class="section"> aligned_storage</span></dt>
 <dt><span class="section"> alignment_of</span></dt>
+<dt><span class="section"> conditional</span></dt>
+<dt><span class="section"> common_type</span></dt>
 <dt><span class="section"> decay</span></dt>
 <dt><span class="section"> extent</span></dt>
 <dt><span class="section"><a href="boost_typetraits/reference/floating_point_promotion.html">
@@ -166,7 +172,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: July 01, 2010 at 17:14:17 +0100</small></p></td>
+<td align="left"><p><small>Last revised: September 24, 2010 at 18:12:08 +0100</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/release/libs/type_traits/doc/transform_traits.qbk
==============================================================================
--- branches/release/libs/type_traits/doc/transform_traits.qbk (original)
+++ branches/release/libs/type_traits/doc/transform_traits.qbk 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -19,6 +19,9 @@
 
    template <class T>
    struct __add_cv;
+
+ template <class T>
+ struct __add_lvalue_reference;
    
    template <class T>
    struct __add_pointer;
@@ -27,8 +30,17 @@
    struct __add_reference;
 
    template <class T>
+ struct __add_rvalue_reference;
+
+ template <class T>
    struct __add_volatile;
 
+ template <bool B, class T, class U>
+ struct __conditional;
+
+ template <class... T>
+ struct __common_type;
+
    template <class T>
    struct __decay;
 

Modified: branches/release/libs/type_traits/doc/type_traits.qbk
==============================================================================
--- branches/release/libs/type_traits/doc/type_traits.qbk (original)
+++ branches/release/libs/type_traits/doc/type_traits.qbk 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -101,10 +101,14 @@
 [def __remove_all_extents [link boost_typetraits.reference.remove_all_extents remove_all_extents]]
 [def __remove_pointer [link boost_typetraits.reference.remove_pointer remove_pointer]]
 [def __add_reference [link boost_typetraits.reference.add_reference add_reference]]
+[def __add_lvalue_reference [link boost_typetraits.reference.add_lvalue_reference add_lvalue_reference]]
+[def __add_rvalue_reference [link boost_typetraits.reference.add_rvalue_reference add_rvalue_reference]]
 [def __add_pointer [link boost_typetraits.reference.add_pointer add_pointer]]
 [def __add_const [link boost_typetraits.reference.add_const add_const]]
 [def __add_volatile [link boost_typetraits.reference.add_volatile add_volatile]]
 [def __add_cv [link boost_typetraits.reference.add_cv add_cv]]
+[def __common_type [link boost_typetraits.reference.common_type common_type]]
+[def __conditional [link boost_typetraits.reference.conditional conditional]]
 
 [def __type_with_alignment [link boost_typetraits.reference.type_with_alignment type_with_alignment]]
 [def __aligned_storage [link boost_typetraits.reference.aligned_storage aligned_storage]]
@@ -162,11 +166,15 @@
 
 [include add_const.qbk]
 [include add_cv.qbk]
+[include add_lvalue_reference.qbk]
 [include add_pointer.qbk]
 [include add_reference.qbk]
+[include add_rvalue_reference.qbk]
 [include add_volatile.qbk]
 [include aligned_storage.qbk]
 [include alignment_of.qbk]
+[include conditional.qbk]
+[include common_type.qbk]
 [include decay.qbk]
 [include extent.qbk]
 [include floating_point_promotion.qbk]

Modified: branches/release/libs/type_traits/test/Jamfile.v2
==============================================================================
--- branches/release/libs/type_traits/test/Jamfile.v2 (original)
+++ branches/release/libs/type_traits/test/Jamfile.v2 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -8,7 +8,18 @@
 
 # type_traits in V1 seem to have two modes: standalone, triggered
 # by a command line option, and a regular. For now, just imitate
-# regular
+# regular
+
+project : requirements
+ # default to all warnings on:
+ <warnings>all
+ # set warnings as errors for those compilers we know we get warning free:
+ <toolset>gcc:<cxxflags>-Wextra
+ <toolset>gcc:<warnings-as-errors>on
+ <toolset>intel:<warnings-as-errors>on
+ <toolset>sun:<warnings-as-errors>on
+ <toolset>msvc:<warnings-as-errors>on
+;
 
 rule all-tests {
      local result ;
@@ -21,5 +32,7 @@
             
 test-suite type_traits : [ all-tests ] ;
 
+compile-fail common_type_fail.cpp ;
+
 
 

Modified: branches/release/libs/type_traits/test/aligned_storage_empy_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/aligned_storage_empy_test.cpp (original)
+++ branches/release/libs/type_traits/test/aligned_storage_empy_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -102,7 +102,7 @@
 do_check<__int64>();
 #endif
 #ifdef BOOST_HAS_LONG_LONG
-do_check<long long>();
+do_check<boost::long_long_type>();
 #endif
 
 do_check<int(*)(int)>();

Modified: branches/release/libs/type_traits/test/aligned_storage_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/aligned_storage_test.cpp (original)
+++ branches/release/libs/type_traits/test/aligned_storage_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -27,6 +27,10 @@
 {
 }
 
+#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(BOOST_INTEL)
+#pragma GCC diagnostic ignored "-Wmissing-braces"
+#endif
+
 template <class T>
 void do_check(const T&)
 {
@@ -55,7 +59,7 @@
 
 #ifndef TEST_STD
    // Non-Tr1 behaviour:
- typedef typename tt::aligned_storage<T::value,-1L>::type t3;
+ typedef typename tt::aligned_storage<T::value, ~static_cast<std::size_t>(0UL)>::type t3;
    t3 as3 = { 0, };
    must_be_pod<t3> pod3;
    no_unused_warning(as3);

Modified: branches/release/libs/type_traits/test/alignment_of_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/alignment_of_test.cpp (original)
+++ branches/release/libs/type_traits/test/alignment_of_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -13,6 +13,18 @@
 #endif
 
 //
+// Need to defined some member function for empty_UDT,
+// we don't want to put these in the test.hpp as that
+// causes overly-clever compilers to figure out that they can't throw
+// which in turn breaks other tests.
+//
+empty_UDT::empty_UDT(){}
+empty_UDT::~empty_UDT(){}
+empty_UDT::empty_UDT(const empty_UDT&){}
+empty_UDT& empty_UDT::operator=(const empty_UDT&){ return *this; }
+bool empty_UDT::operator==(const empty_UDT&)const{ return true; }
+
+//
 // VC++ emits an awful lot of warnings unless we define these:
 #ifdef BOOST_MSVC
 # pragma warning(disable:4244)

Deleted: branches/release/libs/type_traits/test/alignment_of_test_a2.cpp
==============================================================================
--- branches/release/libs/type_traits/test/alignment_of_test_a2.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
+++ (empty file)
@@ -1,113 +0,0 @@
-
-#ifdef _MSC_VER
-#pragma pack(2)
-#endif
-
-// (C) Copyright John Maddock 2000.
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-# include <type_traits>
-#else
-# include <boost/type_traits/alignment_of.hpp>
-#endif
-
-//
-// VC++ emits an awful lot of warnings unless we define these:
-#ifdef BOOST_MSVC
-# pragma warning(disable:4244)
-//
-// What follows here is the test case for issue 1946.
-//
-#include <boost/function.hpp>
-// This kind of packing is set within MSVC 9.0 headers.
-// E.g. std::ostream has it.
-#pragma pack(push,8)
-
-// The issue is gone if Root has no data members
-struct Root { int a; };
-// The issue is gone if Root is inherited non-virtually
-struct A : virtual public Root {};
-
-#pragma pack(pop)
-//
-// This class has 8-byte alignment but is 44 bytes in size, which means
-// that elements in an array of this type will not actually be 8 byte
-// aligned. This appears to be an MSVC bug, and throws off our
-// alignment calculations: causing us to report a non-sensical 12-byte
-// alignment for this type. This is fixed by using the native __alignof
-// operator.
-//
-class issue1946 :
- public A
-{
-public:
- // The issue is gone if the type is not a boost::function. The signature doesn't matter.
- typedef boost::function0< void > function_type;
- function_type m_function;
-};
-
-#endif
-
-
-template <class T>
-struct align_calc
-{
- char padding;
- T instance;
- static std::ptrdiff_t get()
- {
- static align_calc<T> a;
- return reinterpret_cast<const char*>(&(a.instance)) - reinterpret_cast<const char*>(&(a.padding));
- }
-};
-
-#define ALIGNOF(x) align_calc< x>::get()
-
-TT_TEST_BEGIN(alignment_of)
-
-#ifndef TEST_STD
-// This test is not required to work for non-boost implementations:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<void>::value, 0);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char>::value, ALIGNOF(char));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<short>::value, ALIGNOF(short));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int>::value, ALIGNOF(int));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<long>::value, ALIGNOF(long));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<float>::value, ALIGNOF(float));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<double>::value, ALIGNOF(double));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<long double>::value, ALIGNOF(long double));
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of< ::boost::long_long_type>::value, ALIGNOF(::boost::long_long_type));
-#endif
-#ifdef BOOST_HAS_MS_INT64
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<__int64>::value, ALIGNOF(__int64));
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int[4]>::value, ALIGNOF(int[4]));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int(*)(int)>::value, ALIGNOF(int(*)(int)));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int*>::value, ALIGNOF(int*));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<VB>::value, ALIGNOF(VB));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<VD>::value, ALIGNOF(VD));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<enum_UDT>::value, ALIGNOF(enum_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<mf2>::value, ALIGNOF(mf2));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<POD_UDT>::value, ALIGNOF(POD_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<empty_UDT>::value, ALIGNOF(empty_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<union_UDT>::value, ALIGNOF(union_UDT));
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<issue1946>::value, ALIGNOF(issue1946));
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-

Modified: branches/release/libs/type_traits/test/decay_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/decay_test.cpp (original)
+++ branches/release/libs/type_traits/test/decay_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -16,6 +16,13 @@
 #include <string>
 #include <utility>
 
+#ifdef BOOST_INTEL
+// remark #383: value copied to temporary, reference to temporary used
+// std::pair<std::string, int> p2 = boost::make_pair( "foo", 1 );
+// ^
+#pragma warning(disable:383)
+#endif
+
 namespace boost
 {
 

Modified: branches/release/libs/type_traits/test/has_operator_new_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_operator_new_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_operator_new_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -7,6 +7,13 @@
 #include "check_integral_constant.hpp"
 #include <boost/type_traits/has_new_operator.hpp>
 
+#ifdef BOOST_INTEL
+// remark #1720: function "class_with_new_op::operator new" has no corresponding member operator delete (to be called if an exception is thrown during initialization of an allocated object)
+// void * operator new(std::size_t);
+// ^
+#pragma warning(disable:1720)
+#endif
+
 struct class_with_new_op {
     void * operator new(std::size_t);
 };

Modified: branches/release/libs/type_traits/test/is_abstract_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_abstract_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_abstract_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -21,71 +21,71 @@
 struct TestA {};
 struct TestB { virtual void foo(void) = 0; };
 struct TestC { private: virtual void foo(void) = 0; };
-struct TestD : TestA {};
-struct TestE : TestB {};
-struct TestF : TestC {};
-struct TestG : TestB { virtual void foo(void) {} };
-struct TestH : TestC { private: virtual void foo(void) {} };
-struct TestI : TestB, TestC {};
-struct TestJ : TestI { virtual void foo(void) {} };
-struct TestK : TestB { virtual void foo(void); virtual void foo2(void) = 0; };
-struct TestL : TestK { virtual void foo2(void) {} };
-struct TestM : virtual TestB {};
-struct TestN : virtual TestC {};
-struct TestO : TestM, TestN {};
-struct TestP : TestO { virtual void foo(void) {} };
-struct TestQ : TestB { virtual void foo(void) = 0; };
-struct TestR : TestC { private: virtual void foo(void) = 0; };
+struct TestD : public TestA {};
+struct TestE : public TestB {};
+struct TestF : public TestC {};
+struct TestG : public TestB { virtual void foo(void) {} };
+struct TestH : public TestC { private: virtual void foo(void) {} };
+struct TestI : public TestB, public TestC {};
+struct TestJ : public TestI { virtual void foo(void) {} };
+struct TestK : public TestB { virtual void foo(void); virtual void foo2(void) = 0; };
+struct TestL : public TestK { virtual void foo2(void) {} };
+struct TestM : public virtual TestB {};
+struct TestN : public virtual TestC {};
+struct TestO : public TestM, public TestN {};
+struct TestP : public TestO { virtual void foo(void) {} };
+struct TestQ : public TestB { virtual void foo(void) = 0; };
+struct TestR : public TestC { private: virtual void foo(void) = 0; };
 struct TestS { virtual void foo(void) {} };
 struct TestT { virtual ~TestT(void) {} virtual void foo(void) {} };
-struct TestU : TestT { virtual void foo(void) = 0; };
-struct TestV : TestT { virtual void foo(void) {} };
+struct TestU : public TestT { virtual void foo(void) = 0; };
+struct TestV : public TestT { virtual void foo(void) {} };
 struct TestW { virtual void foo1(void) = 0; virtual void foo2(void) = 0; };
-struct TestX : TestW { virtual void foo1(void) {} virtual void foo2(void) {} };
+struct TestX : public TestW { virtual void foo1(void) {} virtual void foo2(void) {} };
 struct TestY { virtual ~TestY(void) = 0; };
 struct TestZ { virtual ~TestZ(void) = 0; }; TestZ::~TestZ(void) {}
-struct TestAA : TestZ { virtual ~TestAA(void) = 0; }; TestAA::~TestAA(void) {}
-struct TestAB : TestAA { virtual ~TestAB(void) {} };
+struct TestAA : public TestZ { virtual ~TestAA(void) = 0; }; TestAA::~TestAA(void) {}
+struct TestAB : public TestAA { virtual ~TestAB(void) {} };
 struct TestAC { virtual void foo(void) = 0; }; void TestAC::foo(void) {}
-struct TestAD : TestAC {};
-struct TestAE : TestAD { virtual void foo() {} };
-struct TestAF : TestAD { virtual void foo(); }; void TestAF::foo(void) {}
-struct TestAG : virtual TestA {};
+struct TestAD : public TestAC {};
+struct TestAE : public TestAD { virtual void foo() {} };
+struct TestAF : public TestAD { virtual void foo(); }; void TestAF::foo(void) {}
+struct TestAG : public virtual TestA {};
 
 // template test types:
 template <class T> struct TTestA {};
 template <class T> struct TTestB { virtual void foo(void) = 0; };
 template <class T> struct TTestC { private: virtual void foo(void) = 0; };
-template <class T> struct TTestD : TTestA<T> {};
-template <class T> struct TTestE : TTestB<T> {};
-template <class T> struct TTestF : TTestC<T> {};
-template <class T> struct TTestG : TTestB<T> { virtual void foo(void) {} };
-template <class T> struct TTestH : TTestC<T> { private: virtual void foo(void) {} };
-template <class T> struct TTestI : TTestB<T>, TTestC<T> {};
-template <class T> struct TTestJ : TTestI<T> { virtual void foo(void) {} };
-template <class T> struct TTestK : TTestB<T> { virtual void foo(void); virtual void foo2(void) = 0; };
-template <class T> struct TTestL : TTestK<T> { virtual void foo2(void) {} };
-template <class T> struct TTestM : virtual TTestB<T> {};
-template <class T> struct TTestN : virtual TTestC<T> {};
-template <class T> struct TTestO : TTestM<T>, TTestN<T> {};
-template <class T> struct TTestP : TTestO<T> { virtual void foo(void) {} };
-template <class T> struct TTestQ : TTestB<T> { virtual void foo(void) = 0; };
-template <class T> struct TTestR : TTestC<T> { private: virtual void foo(void) = 0; };
+template <class T> struct TTestD : public TTestA<T> {};
+template <class T> struct TTestE : public TTestB<T> {};
+template <class T> struct TTestF : public TTestC<T> {};
+template <class T> struct TTestG : public TTestB<T> { virtual void foo(void) {} };
+template <class T> struct TTestH : public TTestC<T> { private: virtual void foo(void) {} };
+template <class T> struct TTestI : public TTestB<T>, public TTestC<T> {};
+template <class T> struct TTestJ : public TTestI<T> { virtual void foo(void) {} };
+template <class T> struct TTestK : public TTestB<T> { virtual void foo(void); virtual void foo2(void) = 0; };
+template <class T> struct TTestL : public TTestK<T> { virtual void foo2(void) {} };
+template <class T> struct TTestM : public virtual TTestB<T> {};
+template <class T> struct TTestN : public virtual TTestC<T> {};
+template <class T> struct TTestO : public TTestM<T>, public TTestN<T> {};
+template <class T> struct TTestP : public TTestO<T> { virtual void foo(void) {} };
+template <class T> struct TTestQ : public TTestB<T> { virtual void foo(void) = 0; };
+template <class T> struct TTestR : public TTestC<T> { private: virtual void foo(void) = 0; };
 template <class T> struct TTestS { virtual void foo(void) {} };
 template <class T> struct TTestT { virtual ~TTestT(void) {} virtual void foo(void) {} };
-template <class T> struct TTestU : TTestT<T> { virtual void foo(void) = 0; };
-template <class T> struct TTestV : TTestT<T> { virtual void foo(void) {} };
+template <class T> struct TTestU : public TTestT<T> { virtual void foo(void) = 0; };
+template <class T> struct TTestV : public TTestT<T> { virtual void foo(void) {} };
 template <class T> struct TTestW { virtual void foo1(void) = 0; virtual void foo2(void) = 0; };
-template <class T> struct TTestX : TTestW<T> { virtual void foo1(void) {} virtual void foo2(void) {} };
+template <class T> struct TTestX : public TTestW<T> { virtual void foo1(void) {} virtual void foo2(void) {} };
 template <class T> struct TTestY { virtual ~TTestY(void) = 0; };
 template <class T> struct TTestZ { virtual ~TTestZ(void) = 0; }; template <class T> TTestZ<T>::~TTestZ(void) {}
-template <class T> struct TTestAA : TTestZ<T> { virtual ~TTestAA(void) = 0; }; template <class T> TTestAA<T>::~TTestAA(void) {}
-template <class T> struct TTestAB : TTestAA<T> { virtual ~TTestAB(void) {} };
+template <class T> struct TTestAA : public TTestZ<T> { virtual ~TTestAA(void) = 0; }; template <class T> TTestAA<T>::~TTestAA(void) {}
+template <class T> struct TTestAB : public TTestAA<T> { virtual ~TTestAB(void) {} };
 template <class T> struct TTestAC { virtual void foo(void) = 0; }; template <class T> void TTestAC<T>::foo(void) {}
-template <class T> struct TTestAD : TTestAC<T> {};
-template <class T> struct TTestAE : TTestAD<T> { virtual void foo() {} };
-template <class T> struct TTestAF : TTestAD<T> { virtual void foo(); }; template <class T> void TTestAF<T>::foo(void) {}
-template <class T> struct TTestAG : virtual TTestA<T> {};
+template <class T> struct TTestAD : public TTestAC<T> {};
+template <class T> struct TTestAE : public TTestAD<T> { virtual void foo() {} };
+template <class T> struct TTestAF : public TTestAD<T> { virtual void foo(); }; template <class T> void TTestAF<T>::foo(void) {}
+template <class T> struct TTestAG : public virtual TTestA<T> {};
 
 
 TT_TEST_BEGIN(is_abstract)

Modified: branches/release/libs/type_traits/test/is_convertible_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_convertible_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_convertible_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -19,8 +19,8 @@
 };
 
 struct base2 { };
-struct middle2 : virtual base2 { };
-struct derived2 : middle2 { };
+struct middle2 : public virtual base2 { };
+struct derived2 : public middle2 { };
 
 
 TT_TEST_BEGIN(is_convertible)
@@ -104,8 +104,11 @@
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<float const&> >::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<float&> >::value), true);
 
+#if !(defined(__GNUC__) && (__GNUC__ < 4))
+// GCC 3.x emits warnings here, which causes the tests to fail when we compile with warnings-as-errors:
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<char> >::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<char const&> >::value), true);
+#endif
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<char&> >::value), false);
 
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<char,convertible_from<char> >::value), true);

Modified: branches/release/libs/type_traits/test/is_member_func_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_member_func_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_member_func_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -30,7 +30,10 @@
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<int&>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const int&>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const int[2] >::value, false);
+#ifndef __IBMCPP__
+// this test may not be strictly legal:
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const int[] >::value, false);
+#endif
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<void>::value, false);
 
 #ifdef BOOST_TT_TEST_MS_FUNC_SIGS

Modified: branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -24,6 +24,20 @@
    virtual ~D()throw();
 };
 
+// for bug report 4453: https://svn.boost.org/trac/boost/ticket/4453
+class non_virtual_base
+{
+public:
+ non_virtual_base();
+};
+class non_virtual_derived : public non_virtual_base
+{
+public:
+ non_virtual_derived();
+ virtual int Y();
+ virtual int X();
+};
+
 TT_TEST_BEGIN(is_virtual_base_of)
 
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Derived,Base>::value), false);
@@ -60,6 +74,7 @@
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,virtual_inherit6>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit6,Base>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<B,D>::value), false);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<non_virtual_base,non_virtual_derived>::value), false);
 
 TT_TEST_END
 

Modified: branches/release/libs/type_traits/test/promote_enum_msvc_bug_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/promote_enum_msvc_bug_test.cpp (original)
+++ branches/release/libs/type_traits/test/promote_enum_msvc_bug_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -17,6 +17,11 @@
 
 #include "promote_util.hpp"
 
+#ifdef BOOST_INTEL
+// remark #1418: external function definition with no prior declaration
+#pragma warning(disable:1418)
+#endif
+
 
 enum UIntEnum { UIntEnum_max = UINT_MAX };
 

Modified: branches/release/libs/type_traits/test/promote_enum_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/promote_enum_test.cpp (original)
+++ branches/release/libs/type_traits/test/promote_enum_test.cpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -31,6 +31,11 @@
 #include "promote_util.hpp"
 #include <boost/detail/workaround.hpp>
 
+#ifdef BOOST_INTEL
+// remark #1418: external function definition with no prior declaration
+#pragma warning(disable:1418)
+#endif
+
 enum IntEnum1 { IntEnum1_min = -5 , IntEnum1_max = 5 };
 enum IntEnum2 { IntEnum2_min = SHRT_MIN, IntEnum2_max = SHRT_MAX };
 enum IntEnum3 { IntEnum3_min = INT_MIN , IntEnum3_max = INT_MAX };

Modified: branches/release/libs/type_traits/test/test.hpp
==============================================================================
--- branches/release/libs/type_traits/test/test.hpp (original)
+++ branches/release/libs/type_traits/test/test.hpp 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -23,6 +23,17 @@
 // We have to turn off warnings that occur within the test suite:
 #pragma warning(disable:4127)
 #endif
+#ifdef BOOST_INTEL
+// remark #1418: external function definition with no prior declaration
+// remark #981: operands are evaluated in unspecified order
+#pragma warning(disable:1418 981)
+#endif
+
+#ifdef BOOST_INTEL
+// turn off warnings from this header:
+#pragma warning(push)
+#pragma warning(disable:444)
+#endif
 
 //
 // basic configuration:
@@ -156,8 +167,8 @@
 enum enum_UDT{ one, two, three };
 struct UDT
 {
- UDT(){};
- ~UDT(){};
+ UDT();
+ ~UDT();
    UDT(const UDT&);
    UDT& operator=(const UDT&);
    int i;
@@ -206,12 +217,11 @@
 struct POD_UDT { int x; };
 struct empty_UDT
 {
- empty_UDT(){};
- empty_UDT(const empty_UDT&){};
- ~empty_UDT(){};
- empty_UDT& operator=(const empty_UDT&){ return *this; }
- bool operator==(const empty_UDT&)const
- { return true; }
+ empty_UDT();
+ empty_UDT(const empty_UDT&);
+ ~empty_UDT();
+ empty_UDT& operator=(const empty_UDT&);
+ bool operator==(const empty_UDT&)const;
 };
 struct empty_POD_UDT
 {
@@ -240,7 +250,7 @@
    nothrow_copy_UDT();
    nothrow_copy_UDT(const nothrow_copy_UDT&)throw();
    ~nothrow_copy_UDT(){};
- nothrow_copy_UDT& operator=(const nothrow_copy_UDT&){ return *this; }
+ nothrow_copy_UDT& operator=(const nothrow_copy_UDT&);
    bool operator==(const nothrow_copy_UDT&)const
    { return true; }
 };
@@ -289,7 +299,7 @@
    virtual ~VB(){};
 };
 
-struct VD : VB
+struct VD : public VB
 {
    ~VD(){};
 };
@@ -356,21 +366,21 @@
    virtual void method();
 };
 
-struct polymorphic_derived1 : polymorphic_base
+struct polymorphic_derived1 : public polymorphic_base
 {
 };
 
-struct polymorphic_derived2 : polymorphic_base
+struct polymorphic_derived2 : public polymorphic_base
 {
    virtual void method();
 };
 
-struct virtual_inherit1 : virtual Base { };
-struct virtual_inherit2 : virtual_inherit1 { };
+struct virtual_inherit1 : public virtual Base { };
+struct virtual_inherit2 : public virtual_inherit1 { };
 struct virtual_inherit3 : private virtual Base {};
-struct virtual_inherit4 : virtual boost::noncopyable {};
-struct virtual_inherit5 : virtual int_convertible {};
-struct virtual_inherit6 : virtual Base { virtual ~virtual_inherit6()throw(); };
+struct virtual_inherit4 : public virtual boost::noncopyable {};
+struct virtual_inherit5 : public virtual int_convertible {};
+struct virtual_inherit6 : public virtual Base { virtual ~virtual_inherit6()throw(); };
 
 typedef void foo0_t();
 typedef void foo1_t(int);
@@ -413,6 +423,9 @@
    wrap& operator=(const wrap&);
 };
 
+#ifdef BOOST_INTEL
+#pragma warning(pop)
+#endif
 
 #endif
 

Modified: branches/release/libs/utility/index.html
==============================================================================
--- branches/release/libs/utility/index.html (original)
+++ branches/release/libs/utility/index.html 2010-10-01 07:11:16 EDT (Fri, 01 Oct 2010)
@@ -20,6 +20,7 @@
                                 <a href="checked_delete.html">checked_delete</a><br>
                                 <a href="compressed_pair.htm">compressed_pair</a><br>
                                 <a href="current_function.html">current_function</a><br>
+ declval<br>
                                 <a href="enable_if.html">enable_if</a><br>
             <a href="iterator_adaptors.htm">iterator_adaptors</a><br>
             <a href="generator_iterator.htm">generator iterator adaptors</a><br>
@@ -40,3 +41,4 @@
                         <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->07 November, 2006<!--webbot bot="Timestamp" endspan i-checksum="39368" --></p>
                 </body>
 </html>
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk