2

私のプロジェクトに組み込むために ash フレームワークを C++ に変換しようとしています。私の開発環境は Vista 32 と Visual C++ 2008 Express です。boost_1_37_0 ライブラリを使用しています。何らかの結果が得られるまで、環境をアップグレードする予定はありません。 ...

与えられた:

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));

ありがとう、

PS: 急いでいますが、しばらくの間、質問を再フォーマットしてみます

よろしく、

4

1 に答える 1

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);
于 2013-11-26T11:33:25.053 に答える