26 #ifndef MLN_FUN_COMPONENT_SCOMP_HH
27 # define MLN_FUN_COMPONENT_SCOMP_HH
34 # include <mln/fun/unary.hh>
35 # include <mln/fun/component/comp.hh>
43 template <
unsigned ith>
44 struct scomp : unary< scomp<ith> >
50 # ifndef MLN_INCLUDE_ONLY
58 template <
unsigned ith,
typename T>
61 typedef set_unary_ ret;
62 typedef mln_trait_nunary(fun::comp, T) comp_t;
65 typedef mln_result(comp_t) result;
66 typedef mln_lvalue(comp_t) lvalue;
68 static result read(const argument& v)
70 return comp_t::read(ith, v);
73 static void write(lvalue l,
const result& r)
75 comp_t::write(ith, l, r);
83 # endif // ! MLN_INCLUDE_ONLY
87 #endif // ! MLN_FUN_COMPONENT_SCOMP_HH