37 # include <mln/fun/internal/selector.hh>
38 # include <mln/metal/unqualif.hh>
50 template <
typename R,
typename A>
51 struct category< R (*)(A) >
59 namespace fun {
template <
typename F>
struct C; }
66 template <
template <
class>
class Op,
67 typename R,
typename A>
70 typedef Op< fun::C<R (*)(A)> > Op_;
71 typedef typename Op_::ret ret;
74 template <
template <
class,
class>
class Op,
76 typename R,
typename A>
77 struct set_binary_< Op,
81 typedef Op< O, fun::C<R (*)(A)> > Op_;
82 typedef typename Op_::ret ret;
92 template <
typename F>
struct C;
96 template <
typename R,
typename A>
99 fun::internal::selector_< R, A, C<R(*)(A)> >::ret
104 R operator()(
const mlc_unqualif(A)& a)
const;
110 # ifndef MLN_INCLUDE_ONLY
112 template <
typename R,
typename A>
118 template <
typename R,
typename A>
120 C<R(*)(A)>::C(R (*f)(A))
125 template <
typename R,
typename A>
128 C<R(*)(A)>::operator()(
const mlc_unqualif(A)& a)
const
133 # endif // ! MLN_INCLUDE_ONLY
140 #endif // ! MLN_FUN_C_HH