Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80433 - branches/release/boost/detail
From: john_at_[hidden]
Date: 2012-09-07 04:49:12


Author: johnmaddock
Date: 2012-09-07 04:49:11 EDT (Fri, 07 Sep 2012)
New Revision: 80433
URL: http://svn.boost.org/trac/boost/changeset/80433

Log:
Merge changes from Trunk.
Fixes #5790.
Text files modified:
   branches/release/boost/detail/call_traits.hpp | 20 ++++++++++++++------
   1 files changed, 14 insertions(+), 6 deletions(-)

Modified: branches/release/boost/detail/call_traits.hpp
==============================================================================
--- branches/release/boost/detail/call_traits.hpp (original)
+++ branches/release/boost/detail/call_traits.hpp 2012-09-07 04:49:11 EDT (Fri, 07 Sep 2012)
@@ -24,6 +24,7 @@
 #include <cstddef>
 
 #include <boost/type_traits/is_arithmetic.hpp>
+#include <boost/type_traits/is_enum.hpp>
 #include <boost/type_traits/is_pointer.hpp>
 #include <boost/detail/workaround.hpp>
 
@@ -43,20 +44,26 @@
    typedef const T param_type;
 };
 
-template <typename T, bool isp, bool b1>
+template <typename T, bool isp, bool b1, bool b2>
 struct ct_imp
 {
    typedef const T& param_type;
 };
 
-template <typename T, bool isp>
-struct ct_imp<T, isp, true>
+template <typename T, bool isp, bool b2>
+struct ct_imp<T, isp, true, b2>
+{
+ typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
+};
+
+template <typename T, bool isp, bool b1>
+struct ct_imp<T, isp, b1, true>
 {
    typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
 };
 
-template <typename T, bool b1>
-struct ct_imp<T, true, b1>
+template <typename T, bool b1, bool b2>
+struct ct_imp<T, true, b1, b2>
 {
    typedef const T param_type;
 };
@@ -79,7 +86,8 @@
    typedef typename boost::detail::ct_imp<
       T,
       ::boost::is_pointer<T>::value,
- ::boost::is_arithmetic<T>::value
+ ::boost::is_arithmetic<T>::value,
+ ::boost::is_enum<T>::value
>::param_type param_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