2 // (C) Copyright Tobias Schwinger
4 // Use modification and distribution are subject to the boost Software License,
5 // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
7 //------------------------------------------------------------------------------
9 #ifndef BOOST_FT_IS_NONMEMBER_CALLABLE_BUILTIN_HPP_INCLUDED
10 #define BOOST_FT_IS_NONMEMBER_CALLABLE_BUILTIN_HPP_INCLUDED
12 #include <boost/mpl/aux_/lambda_support.hpp>
13 #include <boost/type_traits/detail/template_arity_spec.hpp>
15 #include <boost/function_types/components.hpp>
19 namespace function_types
21 template< typename T
, typename Tag
= null_tag
>
22 struct is_nonmember_callable_builtin
23 : function_types::represents
24 < function_types::components
<T
>
25 , function_types::tag
<Tag
,detail::nonmember_callable_builtin_tag
>
28 BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_nonmember_callable_builtin
,(T
,Tag
))
31 BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_nonmember_callable_builtin
)