$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r73146 - sandbox/conversion/boost/conversion/type_traits
From: vicente.botet_at_[hidden]
Date: 2011-07-16 08:23:49
Author: viboes
Date: 2011-07-16 08:23:48 EDT (Sat, 16 Jul 2011)
New Revision: 73146
URL: http://svn.boost.org/trac/boost/changeset/73146
Log:
conversion: added is_default_constructible
Text files modified: 
   sandbox/conversion/boost/conversion/type_traits/is_copy_assignable.hpp        |     2 ++                                      
   sandbox/conversion/boost/conversion/type_traits/is_copy_constructible.hpp     |    11 ++++++-----                             
   sandbox/conversion/boost/conversion/type_traits/is_explicitly_convertible.hpp |     6 ++----                                  
   3 files changed, 10 insertions(+), 9 deletions(-)
Modified: sandbox/conversion/boost/conversion/type_traits/is_copy_assignable.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/type_traits/is_copy_assignable.hpp	(original)
+++ sandbox/conversion/boost/conversion/type_traits/is_copy_assignable.hpp	2011-07-16 08:23:48 EDT (Sat, 16 Jul 2011)
@@ -44,6 +44,8 @@
    */
   template <typename T>
   struct is_copy_assignable<T&> : true_type {};
+  template <>
+  struct is_copy_assignable<void> : false_type {};
 
 #endif
 }
Modified: sandbox/conversion/boost/conversion/type_traits/is_copy_constructible.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/type_traits/is_copy_constructible.hpp	(original)
+++ sandbox/conversion/boost/conversion/type_traits/is_copy_constructible.hpp	2011-07-16 08:23:48 EDT (Sat, 16 Jul 2011)
@@ -34,7 +34,8 @@
   struct is_copy_constructible : is_constructible<
     T,
     T const&
-//    const typename add_lvalue_reference<T>::type
+    // TODO see why this doesn't works
+    //const typename add_lvalue_reference<T>::type
     > {};
 
 #if !defined(BOOST_CONVERSION_DOXYGEN_INVOKED)
@@ -42,10 +43,10 @@
   struct is_copy_constructible<void> : false_type {};
   template <typename T>
   struct is_copy_constructible<T&> : true_type {};
-  template <typename T>
-  struct is_copy_constructible<T[]> : false_type {};
-  template <typename T, std::size_t N>
-  struct is_copy_constructible<T[N]> : false_type {};
+//  template <typename T>
+//  struct is_copy_constructible<T[]> : false_type {};
+//  template <typename T, std::size_t N>
+//  struct is_copy_constructible<T[N]> : false_type {};
 #endif
 
 }
Modified: sandbox/conversion/boost/conversion/type_traits/is_explicitly_convertible.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/type_traits/is_explicitly_convertible.hpp	(original)
+++ sandbox/conversion/boost/conversion/type_traits/is_explicitly_convertible.hpp	2011-07-16 08:23:48 EDT (Sat, 16 Jul 2011)
@@ -102,9 +102,7 @@
   #define BOOST_CONVERSION_NO_IS_EXPLICIT_CONVERTIBLE
 #endif
 
-#if defined BOOST_CONVERSION_NO_IS_EXPLICIT_CONVERTIBLE
-//#error
-#endif
+
 namespace boost {
   namespace type_traits_detail_is_explicitly_convertible {
         //! type used instead of ... to accept any type
@@ -188,7 +186,7 @@
 // specialization for scalar or reference: depend on the source is convertible to the target
       template <class S, class T>
       struct imp<true, S, T>
-          : public integral_constant<bool,is_constructible<T,S>::value || imp<false,S,T>::value >
+          : public integral_constant<bool,is_convertible<S,T>::value || imp<false,S,T>::value >
           {};
 
 // specialization for NOT void, abstract, function or any of the parameters is void: