From 1aa23ac1ce2ae7636f3884725469204eb0980642 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 24 Aug 2002 11:24:13 +0000 Subject: [PATCH] Fixes for C++ Builder 7 (Kylix) [SVN r15077] --- .../boost/type_traits/composite_traits.hpp | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/include/boost/type_traits/composite_traits.hpp b/include/boost/type_traits/composite_traits.hpp index 4a4980e..11c6a7f 100644 --- a/include/boost/type_traits/composite_traits.hpp +++ b/include/boost/type_traits/composite_traits.hpp @@ -864,6 +864,8 @@ template } +#ifndef __BORLANDC__ + namespace detail { template @@ -878,10 +880,11 @@ namespace detail template struct apply { - static T& make_t(); + static T& make_t; + typedef apply self_type; BOOST_STATIC_CONSTANT( - bool, value = (1 == sizeof(detail::is_member_function_pointer_helper(make_t()))) ); + bool, value = (1 == sizeof(detail::is_member_function_pointer_helper(self_type::make_t))) ); }; }; } @@ -892,6 +895,25 @@ struct is_member_function_pointer : ::boost::detail::is_member_function_pointer_ >::template apply {}; +#else // Borland C++ + +template +struct is_member_function_pointer +{ + static T& m_t; + BOOST_STATIC_CONSTANT( + bool, value = + (1 == sizeof(detail::is_member_function_pointer_helper(m_t))) ); +}; + +template +struct is_member_function_pointer +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +#endif + template <> struct is_member_function_pointer {