Fix for gcc

git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@7 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
mat007 2009-08-28 21:11:33 +00:00
parent 0d0b921d83
commit dc72d4c697
2 changed files with 3 additions and 5 deletions

View file

@ -19,9 +19,9 @@ namespace detail
typedef char false_type[1]; typedef char false_type[1];
template< typename T > template< typename T >
true_type& has_result_type_helper( T*, BOOST_DEDUCED_TYPENAME T::result_type* = 0 ) {} true_type& has_result_type_helper( T*, BOOST_DEDUCED_TYPENAME T::result_type* = 0 );
template< typename T > template< typename T >
false_type& has_result_type_helper( T, ... ) {} false_type& has_result_type_helper( T, ... );
template< typename T > template< typename T >
struct has_result_type struct has_result_type
@ -34,13 +34,11 @@ namespace detail
struct is_functor struct is_functor
{ {
typedef BOOST_DEDUCED_TYPENAME boost::function_types::is_callable_builtin< T >::type type; typedef BOOST_DEDUCED_TYPENAME boost::function_types::is_callable_builtin< T >::type type;
enum { value = BOOST_DEDUCED_TYPENAME type::value };
}; };
template< typename T > template< typename T >
struct is_functor< T, true > struct is_functor< T, true >
{ {
typedef boost::true_type type; typedef boost::true_type type;
enum { value = true };
}; };
} }
} }

View file

@ -19,7 +19,7 @@ namespace
template< typename T > template< typename T >
void check( T ) void check( T )
{ {
BOOST_STATIC_ASSERT(( mock::detail::is_functor< T >::value )); BOOST_STATIC_ASSERT(( mock::detail::is_functor< T >::type::value ));
} }
void f0 () {} void f0 () {}