Codes like:
template <typename... type>
void print(type... pack) {
((std::cout << pack << " "), ...);
}
But I have parameters like:
{ {1, 2, 3}, {4, 5, 6} }
So how can I pass this to the function ? Or, how to expand the parameters pack like this ?
But I have parameters like: { {1, 2, 3}, {4, 5, 6} }
You can pack them into std::tuple
s
#include<iostream>
#include<tuple>
template <typename... Tuples>
void print_tuples(Tuples... tuples) {
(std::apply([](auto... args) {
((std::cout << args << " "), ...);
}, tuples), ...);
}
Then
print_tuples(std::tuple{1, 2, 3}, std::tuple{4, 5, 6});