26 #ifndef MLN_FUN_P2V_ELIFS_HH
27 # define MLN_FUN_P2V_ELIFS_HH
34 # include <mln/fun/p2v/ternary.hh>
46 template <
typename T1,
typename N1,
47 typename T2,
typename N2,
51 elifs(
const Function_v2b<T1>& f_if_1,
const Function_v2v<N1>& f_then_1,
52 const Function_v2b<T2>& f_if_2,
const Function_v2v<N2>& f_then_2,
53 const Function_v2v<O>& f_otherwise);
56 # ifndef MLN_INCLUDE_ONLY
58 template <
typename T1,
typename N1,
59 typename T2,
typename N2,
64 elifs(
const Function_v2b<T1>& f_if_1,
const Function_v2v<N1>& f_then_1,
65 const Function_v2b<T2>& f_if_2,
const Function_v2v<N2>& f_then_2,
66 const Function_v2v<O>& f_otherwise)
68 typedef ternary_<T2, N2, O> T2_N2_O;
69 T2_N2_O f_otherwise_1(f_if_2, f_then_2, f_otherwise);
70 ternary_<T1, N1, T2_N2_O> tmp(f_if_1, f_then_1, f_otherwise_1);
74 # endif // ! MLN_INCLUDE_ONLY
83 #endif // ! MLN_FUN_P2V_ELIFS_HH