26 #ifndef MLN_TRAIT_CH_FUNCTION_VALUE_HH
27 # define MLN_TRAIT_CH_FUNCTION_VALUE_HH
33 # define mln_ch_function_value(I, V) \
34 typename mln::trait::ch_function_value< I, V >::ret
36 # define mln_ch_function_value_(I, V) \
37 mln::trait::ch_functionvalue< I, V >::ret
39 # include <mln/fun/v2v/ch_function_value.hh>
45 namespace trait {
template <
typename F,
typename V>
struct ch_function_value; }
46 namespace fun {
namespace i2v {
template <
typename T>
class array; } }
56 template <
typename F,
typename VF,
typename V>
57 struct ch_function_value
59 typedef fun::v2v::ch_function_value<F, V> ret;
62 template <
typename VF,
typename V>
63 struct ch_function_value<fun::i2v::array<VF>, VF, V>
65 typedef fun::i2v::array<V> ret;
71 template <
typename F,
typename V>
72 struct ch_function_value
74 typedef typename impl::ch_function_value<F, mln_result(F), V>::ret ret;
82 #endif // ! MLN_TRAIT_CH_FUNCTION_VALUE_HH