【发布时间】:2021-10-18 13:53:25
【问题描述】:
考虑一下这个sn-p:
#include <boost/fusion/container/map.hpp>
#include <boost/fusion/include/pair.hpp>
struct MsgA {};
struct MsgB {};
using MsgList = std::tuple<MsgA, MsgB>;
template <typename Msg>
class MsgSignal {};
template <typename... Args>
using MsgSignals =
boost::fusion::map<boost::fusion::pair<Args, MsgSignal<Args>>, ...>;
int main() {
MsgSignals<MsgList> signals;
// signals should be of type boost::fusion::map<boost::fusion::pair<MsgA, MsgSignal<MsgA>,
boost::fusion::pair<MsgB, MsgSignal<MsgB>>> >
}
我正在努力使用别名模板 MsgSignals。
signals 的类型变成的正确语法是什么
boost::fusion::map<boost::fusion::pair<MsgA, MsgSignal<MsgA>,
boost::fusion::pair<MsgB, MsgSignal<MsgB>>>
【问题讨论】:
-
错字顺便说一句:
pair</*..*/>, ...->pair</*..*/>...(逗号已删除)
标签: c++ tuples variadic-templates boost-fusion