fork download
  1. #include <iostream>
  2. #include <functional>
  3. #include <typeinfo>
  4.  
  5. template <template <class...> class U, class T, unsigned N>
  6. struct Combine {
  7. typedef U<void(typename Combine<U, T, N - 1>::type)> type;
  8. };
  9.  
  10. template <template <class...> class U, class T>
  11. struct Combine<U, T, 0> {
  12. typedef T type;
  13. };
  14.  
  15. int main() {
  16. Combine<std::function, void(void), 899>::type f;
  17.  
  18. std::cout << "f: " << typeid(f).name();
  19. }
Success #stdin #stdout 0s 3304KB
stdin
Standard input is empty
stdout
f: St8functionIFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvS_IFvPFvvEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE