入力できるようにしたいのは次のとおりです。
class foo : public watchKeys<A, B, C> {}; //Or any list of keys
Boost::mpl にはシーケンスがあり、これを実行できますが、実行する必要はありません。
class foo : public watchKeys<mpl::list<A, B, C> > {};
内部が「醜い」または冗長であることは気にしませんが、最終的にwatchKeysを使用する方法が非常にシンプルで直感的であることを望んでいます. ブーストがどのようにそれを行っているかもわかりませんが、それは私とテンプレートの間にマクロのレイヤーがあるためのようです.
これについてどうすればよいですか?タイプの数ごとにテンプレートの巨大なリストを作成したくないのですが、それが唯一の方法である場合は...
編集:やりたいことを実行する方法がないことはかなり確信しました(ほとんどですが、可変数のマクロ引数を持つことはできません)が、質問は依然として有用で有益な回答を生成しています.