template< typename ... Args >
class Message {
public:
Message( Args&& ... args ) {
mArgs = std::make_tuple( args ... );
}
std::tuple< Args ... > mArgs;
typedef std::function< void ( Args ... ) > HandlerType;
void Consume( HandlerType handler ) {
// handler( mArgs );
// How does one unpack this?
}
};
// Testing code
Message<int, int> msg(1, 2);
msg.Consume( [] ( int i, int j ) {
std::cout << i << ',' << j << '\n';
});
我正在尝试一个简单的消息传递 API,试图为消息和参数提供一个简单的模板化接口。当我想将参数传递给函数时遇到了问题。
我没有过多地使用可变参数模板,并且想知道是否有一个优雅的解决方案来解决我的问题。