Quickbook: Copy trunk headers into quickbook-dev.

[SVN r75212]
This commit is contained in:
Daniel James 2011-11-01 13:03:44 +00:00
commit 74c609a98b
3 changed files with 17 additions and 8 deletions

View File

@ -28,7 +28,7 @@ namespace detail
inline void current_function_helper() inline void current_function_helper()
{ {
#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
@ -65,3 +65,4 @@ inline void current_function_helper()
} // namespace boost } // namespace boost
#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED

View File

@ -24,6 +24,7 @@
#include <cstddef> #include <cstddef>
#include <boost/type_traits/is_arithmetic.hpp> #include <boost/type_traits/is_arithmetic.hpp>
#include <boost/type_traits/is_enum.hpp>
#include <boost/type_traits/is_pointer.hpp> #include <boost/type_traits/is_pointer.hpp>
#include <boost/detail/workaround.hpp> #include <boost/detail/workaround.hpp>
@ -43,20 +44,26 @@ struct ct_imp2<T, true>
typedef const T param_type; typedef const T param_type;
}; };
template <typename T, bool isp, bool b1> template <typename T, bool isp, bool b1, bool b2>
struct ct_imp struct ct_imp
{ {
typedef const T& param_type; typedef const T& param_type;
}; };
template <typename T, bool isp> template <typename T, bool isp, bool b2>
struct ct_imp<T, isp, true> struct ct_imp<T, isp, true, b2>
{ {
typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type; typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
}; };
template <typename T, bool b1> template <typename T, bool isp, bool b1>
struct ct_imp<T, true, 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, bool b2>
struct ct_imp<T, true, b1, b2>
{ {
typedef const T param_type; typedef const T param_type;
}; };
@ -79,7 +86,8 @@ public:
typedef typename boost::detail::ct_imp< typedef typename boost::detail::ct_imp<
T, T,
::boost::is_pointer<T>::value, ::boost::is_pointer<T>::value,
::boost::is_arithmetic<T>::value ::boost::is_arithmetic<T>::value,
::boost::is_enum<T>::value
>::param_type param_type; >::param_type param_type;
}; };

View File

@ -27,7 +27,7 @@
#include <boost/utility/declval.hpp> #include <boost/utility/declval.hpp>
#ifndef BOOST_RESULT_OF_NUM_ARGS #ifndef BOOST_RESULT_OF_NUM_ARGS
# define BOOST_RESULT_OF_NUM_ARGS 10 # define BOOST_RESULT_OF_NUM_ARGS 16
#endif #endif
namespace boost { namespace boost {