Why ?
Didier Verna
Why ?
Didier Verna
@didierverna
didier@didierverna.net
facebook/didier.verna
meetic/didou
1/3
Why ?
Didier Verna
<No Title>
template <template <class> class M, typename T, typename V>
struct ch_value_ <M <tag::value_<T>>, V>
{ typedef M<V> ret; };
template <template <class> class M, typename I, typename V>
struct ch_value_ <M <tag::image_<I>>, V>
{ typedef M <mln_ch_value(I, V)> ret; };
template <template <class, class> class M, typename T,
typename I, typename V>
struct ch_value_ <M <tag::value_<T>, tag::image_<I>>, V>
{ typedef mln_ch_value(I, V) ret; };
template <template <class, class> class M, typename P,
typename T, typename V>
struct ch_value_ <M <tag::psite_<P>, tag::value_<T>>, V>
{ typedef M<P, V> ret; };
2/3
Why ?
Didier Verna
(No Title)
(template (template (class) (class M) (typename T) (typename V))
(struct (ch_value_ (M (tag::value_ T)) V)
( typedef (M V) ret)) )
(template (template (class) (class M) (typename I) (typename V))
(struct (ch_value_ (M (tag::image_ I)) V)
( typedef (M (mln_ch_value I V)) ret)) )
(template (template (class class) (class M) (typename T)
(typename I) (typename V))
(struct (ch_value_ (M (tag::value_ T) (tag::image_ I)) V)
( typedef (mln_ch_value I V) ret)) )
(template (template (class class) (class M) (typename P)
(typename T) (typename V))
(struct (ch_value_ (M (tag::psite_ P) (tag::value_ T)) V)
( typedef (M P V) ret)) )
3/3