26 #ifndef MLN_FUN_META_FIRST_HH
27 # define MLN_FUN_META_FIRST_HH
33 # include <mln/fun/meta/impl.hh>
34 # include <mln/util/couple.hh>
43 struct first : impl< first<T> >
51 template <
typename T,
typename U>
52 struct function< meta::first< util::couple<T,U> > >
53 :
public Function_v2v<function< meta::first < util::couple<T,U> > > >
55 typedef util::couple<T,U>
value;
58 result read(
const value& c);
60 typedef result& lresult;
61 lresult write(value& c);
65 # ifndef MLN_INCLUDE_ONLY
68 template <
typename T,
typename U>
70 typename function< meta::first< util::couple<T,U> > >::result
71 function< meta::first< util::couple<T,U> > >::read(
const value& c)
76 template <
typename T,
typename U>
78 typename function< meta::first< util::couple<T,U> > >::lresult
79 function< meta::first< util::couple<T,U> > >::write(value& c)
85 # endif // ! MLN_INCLUDE_ONLY
90 #endif // ! MLN_FUN_META_FIRST_HH