38 # include <mln/fun/internal/selector.hh>
39 # include <mln/metal/unqualif.hh>
57 template <
typename R,
typename A>
60 typedef C_Function<void>
ret;
66 namespace fun {
template <
typename F>
struct C; }
73 template <
template <
class>
class Op,
74 typename R,
typename A>
75 struct set_unary_< Op, C_Function, R (*)(A) >
77 typedef Op< fun::C<R (*)(A)> > Op_;
78 typedef typename Op_::ret
ret;
81 template <
template <
class,
class>
class Op,
83 typename R,
typename A>
84 struct set_binary_< Op,
86 C_Function, R (*)(A) >
88 typedef Op< O, fun::C<R (*)(A)> > Op_;
89 typedef typename Op_::ret
ret;
99 template <
typename F>
struct C;
103 template <
typename R,
typename A>
111 R operator()(
const mlc_unqualif(A)& a)
const;
117 # ifndef MLN_INCLUDE_ONLY
119 template <
typename R,
typename A>
125 template <
typename R,
typename A>
127 C<R(*)(A)>::C(R (*f)(A))
132 template <
typename R,
typename A>
135 C<R(*)(A)>::operator()(
const mlc_unqualif(A)& a)
const
140 # endif // ! MLN_INCLUDE_ONLY
147 #endif // ! MLN_FUN_C_HH