各ポリシーが独自のテンプレート パックを持つように、可変長のテンプレート テンプレート パラメーターを使用してポリシー クラスを組み合わせることが可能かどうか疑問に思っています。すべてのポリシーで 1 つのテンプレート パックしか共有できないようですが、そうでないことを願っています。
考えられるのは以下のようなものです。
template <
class T,
template <class, typename...> class Policy1,
template <class, typename...> class Policy2,
template <class, typename...> class Policy3,
typename... Args
>
struct PolicyClass
: public Policy1 <ObjT, Args...>
, public Policy2 <ObjT, Args...>
, public Policy3 <ObjT, Args...> {}
各ポリシーに独自のパックを持たせて、次のようなものを作成できることを願っています (?):
template <class T>
struct implementedPolicy1 {};
template <class T>
struct implementedPolicy2 {};
template <class T, class A>
struct implementedPolicy3 {};
PolicyClass <ObjT,
implementedPolicy1,
implementedPolicy2,
implementedPolicy3<AType>
>
各ポリシーはすべて同じオブジェクト タイプを使用しているという考えですが、3 番目のポリシーにはさらにテンプレートがあります。上記のコードが正しくないことは承知しています - 私ができるようにしたいことを説明しようとしているだけです。
ありがとう