fork(3) download
  1. #include <iostream>
  2.  
  3. #include <cstddef>
  4.  
  5. template <typename T, std::size_t first, std::size_t ... rest>
  6. struct generate_dimensions
  7. {
  8. using type = typename generate_dimensions<T, rest...>::type[first];
  9. };
  10.  
  11. template <typename T, std::size_t first>
  12. struct generate_dimensions<T, first>
  13. {
  14. using type = T[first];
  15. };
  16.  
  17. template <typename T, std::size_t first, std::size_t ... rest>
  18. using generate_dimensions_t = typename generate_dimensions<T, first, rest...>::type;
  19.  
  20. int main() {
  21. std::cout << sizeof(generate_dimensions_t<char, 2, 3>);
  22. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
6