Lud*_*cka 10 boost boost-fusion boost-mpl
我是boost :: fusion和boost :: mpl库的新手.有谁能告诉我这两个图书馆之间的主要区别?
直到现在我只使用fusion :: vector和其他一些简单的东西.现在我想使用fusion :: map或MPL :: map,但我不知道如何选择正确的.
我需要地图简单类型到复杂类型(类型alisa).目前我有以下片段,这两个工作正是我需要的.
提高::融合:
typedef boost::fusion::map<
boost::fusion::pair<AliasNames::test1,int>,
boost::fusion::pair<AliasNames::test2,double>,
boost::fusion::pair<AliasNames::test3,float>
> TmapAssociations1;
typedef boost::fusion::result_of::value_at_key<TmapAssociations,AliasNames::test1>::type t;
Run Code Online (Sandbox Code Playgroud)
提高:: MPL:
typedef boost::mpl::map<
boost::mpl::pair<AliasNames::test1,int>,
boost::mpl::pair<AliasNames::test2,double>,
boost::mpl::pair<AliasNames::test3,float>
> TmapAssociations2;
boost::mpl::at<TmapAssociations2,AliasNames::test1>::type t2;
Run Code Online (Sandbox Code Playgroud)
MPL和融合之间有什么区别吗?是否存在一个库优先于另一个库的情况?
谢谢你的答复.
| 归档时间: |
|
| 查看次数: |
2109 次 |
| 最近记录: |