diff options
author | Remko Tronçon <git@el-tramo.be> | 2012-12-23 13:16:26 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2012-12-23 14:43:26 (GMT) |
commit | 491ddd570a752cf9bda85933bed0c6942e39b1f9 (patch) | |
tree | 10c25c1be8cc08d0497df1dccd56a10fbb30beee /3rdParty/Boost/src/boost/detail/call_traits.hpp | |
parent | da7d7a0ca71b80281aa9ff2526290b61ccb0cc60 (diff) | |
download | swift-491ddd570a752cf9bda85933bed0c6942e39b1f9.zip swift-491ddd570a752cf9bda85933bed0c6942e39b1f9.tar.bz2 |
Update Boost to 1.52.0.
Change-Id: I1e56bea2600bf2ed9c5b3aba8c4f9d2a0f350e77
Diffstat (limited to '3rdParty/Boost/src/boost/detail/call_traits.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/detail/call_traits.hpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/3rdParty/Boost/src/boost/detail/call_traits.hpp b/3rdParty/Boost/src/boost/detail/call_traits.hpp index 6ad646e..36dea00 100644 --- a/3rdParty/Boost/src/boost/detail/call_traits.hpp +++ b/3rdParty/Boost/src/boost/detail/call_traits.hpp @@ -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 @@ struct ct_imp2<T, true> 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 @@ public: 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; }; |