我正在尝试将ash框架转换为c ++以合并到我的项目中,我的开发环境是Vista 32和Visual C ++ 2008 Express,我正在使用boost_1_37_0库,我没有计划升级environemt直到我达到一些结果...
假设:
typedef Component Pcomponent;
typedef WaitForstart2 Pcomponent2;
typedef boost::fusion::pair<ComponentWONTEXISTS,Pcomponent> component_pair1;
typedef boost::fusion::pair<WaitForstart2,Pcomponent2> component_pair2;
typedef boost::fusion::map<component_pair1> componentDictType1;
typedef boost::fusion::map<component_pair2> componentDictType2;
typedef boost::fusion::joint_view<componentDictType1, componentDictType2>joincomponentDictType;
我无法使用at_key
解决如何访问类型的问题boost::fusion::at_key<ComponentWONTEXISTS, dictionaryjoint>(boost::fusion::as_map(dictionaryjoint));
谢谢,
P.S:我很着急,但我会尝试重新格式化问题此致
答案 0 :(得分:1)
这很有趣,但我想我找到了解决方案:
typedef boost::fusion::result_of::as_map<boost::fusion::joint_view<componentDictType1, componentDictType2> >::type MAPTYPE;
MAPTYPE aDict;
Pcomponent ptempj3 = boost::fusion::at_key<ComponentWONTEXISTS,MAPTYPE>(aDict);