Fixes for C++ Builder 7 (Kylix)

[SVN r15077]
This commit is contained in:
John Maddock
2002-08-24 11:24:13 +00:00
parent b74f038624
commit 1aa23ac1ce

View File

@@ -864,6 +864,8 @@ template <class R, class T>
}
#ifndef __BORLANDC__
namespace detail
{
template <bool maybe = false>
@@ -878,10 +880,11 @@ namespace detail
template <class T>
struct apply
{
static T& make_t();
static T& make_t;
typedef apply<T> 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<T>
{};
#else // Borland C++
template <typename T>
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 <typename T>
struct is_member_function_pointer<T&>
{
BOOST_STATIC_CONSTANT(bool, value = false);
};
#endif
template <>
struct is_member_function_pointer<void>
{