13 #ifndef TINYMPL_VARIADIC_REVERSE_HPP
14 #define TINYMPL_VARIADIC_REVERSE_HPP
30 template<
template<
class ...>
class Out,
class ... Args>
struct reverse;
32 template<
template<
class ...>
class Out,
class Head,
class ... Tail>
33 struct reverse<Out, Head, Tail...> {
35 template<
class ... ReversedTail>
37 typedef typename reverse<Out, Tail...>::template
38 impl<Head, ReversedTail...>::type type;
41 template<
template<
class ...>
class,
class ...>
friend struct reverse;
44 typedef typename impl<>::type type;
47 template<
template<
class ...>
class Out>
struct reverse<Out> {
49 template<
class ... ReversedTail>
51 typedef Out<ReversedTail...> type;
54 template<
template<
class ...>
class,
class ...>
friend struct reverse;
63 #endif // TINYMPL_VARIADIC_REVERSE_HPP
Reverse the input sequence.
Definition: reverse.hpp:35
Reverse the input sequence.
Definition: reverse.hpp:30