Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72836 - in sandbox/conversion/boost/conversion: . type_traits
From: vicente.botet_at_[hidden]
Date: 2011-07-01 13:49:05


Author: viboes
Date: 2011-07-01 13:49:04 EDT (Fri, 01 Jul 2011)
New Revision: 72836
URL: http://svn.boost.org/trac/boost/changeset/72836

Log:
Conversion: fix minor issues
Text files modified:
   sandbox/conversion/boost/conversion/explicit_convert_to.hpp | 2 +-
   sandbox/conversion/boost/conversion/type_traits/is_convertible.hpp | 12 ++++++++++++
   sandbox/conversion/boost/conversion/type_traits/is_copy_constructible.hpp | 2 ++
   3 files changed, 15 insertions(+), 1 deletions(-)

Modified: sandbox/conversion/boost/conversion/explicit_convert_to.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/explicit_convert_to.hpp (original)
+++ sandbox/conversion/boost/conversion/explicit_convert_to.hpp 2011-07-01 13:49:04 EDT (Fri, 01 Jul 2011)
@@ -161,7 +161,7 @@
     //! @tparam Source source type of the conversion.
     //! @tparam Enable A dummy template parameter that can be used for SFINAE.
     template < typename Target, typename Source, class Enable = void >
- struct explicit_converter_cp : true_type
+ struct explicit_converter_cp : false_type
     {
       //! @Effects Converts the @c from parameter to an instance of the @c Target type, using the conversion operator or copy constructor.
       //! @Throws Whatever the underlying conversion @c Target operator of the @c Source class throws.

Modified: sandbox/conversion/boost/conversion/type_traits/is_convertible.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/type_traits/is_convertible.hpp (original)
+++ sandbox/conversion/boost/conversion/type_traits/is_convertible.hpp 2011-07-01 13:49:04 EDT (Fri, 01 Jul 2011)
@@ -26,6 +26,18 @@
 
 namespace boost
 {
+
+ template < >
+ struct is_convertible< const void, void> : true_type {};
+ template < >
+ struct is_convertible< void, const void> : true_type {};
+
+ template < class Target, class Source, std::size_t N>
+ struct is_convertible< Target[N], Source[N] >: false_type {};
+ template < class Target, class Source, std::size_t N>
+ struct is_convertible< const Target[N], const Source[N] >: false_type {};
+
+
   template <class A1, class A2, class B1, class B2>
   struct is_convertible< std::pair<A1,A2>, std::pair<B1,B2> >
       : integral_constant<bool, is_convertible<A1,B1>::value && is_convertible<A2,B2>::value >

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-01 13:49:04 EDT (Fri, 01 Jul 2011)
@@ -30,6 +30,8 @@
 
   template <>
   struct is_copy_constructible<void> : false_type {};
+ template <typename T>
+ struct is_copy_constructible<T[]> : false_type {};
 
 }
 


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