私はまだメタプログラミングのスイングを取得しようとしていますが、困惑しています。
私がやりたいのは、クラス/構造体/何でも作成し、std::tuple を提供し、タプルのオブジェクト型に基づいてメンバー関数を自動的に生成することです。目標は、クラスを派生させることですMessageHandler
例えば
typedef std::tuple< MessageA, MessageB, MessageC > MessageSet;
template< class T >
class MessageHandler
{
// some magic metaprogramming would "create"...
virtual void processMsg( const MessageA& ) = 0;
virtual void processMsg( const MessageB& ) = 0;
virtual void processMsg( const MessageC& ) = 0;
};
テンプレートに仮想関数を含めることはできないと読みましたが、それが C++11 でも当てはまるかどうかはわかりませんでした。
ありがとう。