m4n71k0r

Untitled

Apr 27th, 2012
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     template <typename... Tail>
  2.     struct KWAHNOOM;
  3.      
  4.     template <typename Head, typename... Tail>
  5.     struct KWAHNOOM<Head, Tail...>
  6.     {
  7.         template <typename... ValuesTypes>
  8.         static auto process(ValuesTypes... values) -> decltype(KWAHNOOM<Tail...>::template process<decltype(Head::process(values...))>(Head::process(values...)))
  9.         {
  10.             return KWAHNOOM<Tail...>::template process<decltype(Head::process(values...))>(Head::process(values...));
  11.         }
  12.     };
  13.      
  14.     template <typename Type>
  15.     struct KWAHNOOM<Type>
  16.     {
  17.         template <typename... ValuesTypes>
  18.         static auto process(ValuesTypes... values) -> decltype(Type::process(values...))
  19.         {
  20.             return Type::process(values...);
  21.         }
  22.     };
Advertisement
Add Comment
Please, Sign In to add comment