i
Size: a a a
v
АК
constexpr bool f(std::size_t i, std::size_t j) { return /* сложная проверка */; }
template <class... A, class... B> requires f(sizeof...(A), sizeof...(B))
void g(A..., B...);
g(1, 2, 3);
что делать компилятору? перебирать все возможные комбинации? [] [1, 2, 3]
[1] [2, 3]
[1, 2] [3]
[1, 2, 3] []
а если g(A..., B..., C...)? или g(A..., B..., C..., D..., F...)?АК
constexpr bool f(std::size_t i, std::size_t j) { return /* сложная проверка */; }
template <class... A, class... B> requires f(sizeof...(A), sizeof...(B))
void g(A..., B...);
g(1, 2, 3);
что делать компилятору? перебирать все возможные комбинации? [] [1, 2, 3]
[1] [2, 3]
[1, 2] [3]
[1, 2, 3] []
а если g(A..., B..., C...)? или g(A..., B..., C..., D..., F...)?АК
IA
A
A
IA
A