可変個の可変個のテンプレート テンプレート パラメーターを使用する簡単な方法はありますか。たとえば、次の関数シグネチャを考えてみましょう
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args>
void foo(const Pack<T,Args...>& a);
Pack
2 つの s を渡したい場合は、オーバーロードを行う必要があります
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args0, size_t ... Args1>
void foo(const Pack<T,Args0...>& a, const Pack<T,Args1...>& b);
Pack
ここで、さまざまな可変パラメータを持つ可変数のオブジェクトを渡したい場合はどうなるでしょうかArgs0...,Args1...,Args2...
。
それで、(以下は確かにスケッチ表現です)の線に沿って何かを行う実用的な方法があるかどうかを考えていました.
template<template<typename,size_t...> ... class Pack, typename T,...>
void foo(const Pack<T,...> ... packs);