Boost.Fusionの最近の動向

ここ最近、Boost.Fusionに関する議論が多いので拾ってきました。
主に自分のメモ用。

  • std::tupleのアダプト

C++0xのstd::tupleはVariadic TemplatesによるものなのでFusion Sequenceへのアダプトが難しいのですが、最近Sandboxとかに実装が出てきてて、現在複数プラットフォームで動作する用にworkaroundを書いている状況のようです。

adapt std::tuple to be a fusion sequence? 1
adapt std::tuple to be a fusion sequence? 2

  • MPLとのさらなる融合

mpl::mapやmpl::pairをもっとフュージョンしたい!という話が出てます。

map : Issues in the mpl/fusion interface

  • Forward Sequenceの要件

forward sequenceでpop_backが動作しないという問題
trunkでは直ってる。

  • Segmented Fusion

segmented fusion 2.0

segmentedというのがまだよくわかってないですが、おそらく再帰的なFusion Sequenceの扱いに関すること。


Boost.Fusion作者のJoel de Guzmanさんは、機能追加などのパッチに対してウェルカムな姿勢なので、必要だと思ったら書いて送るとよいです。
(もちろん、設計思想を正しく理解した上で実装を書き、テストもしっかりしてから。)


私もこのあいだ「boost::fusion::copy()がアンドキュメントだよ」と指摘したら「ドキュメントパッチある?」って聞かれたので、次の日書いて送ったら即コミットしてもらえました(翻訳とドキュメントのビルドに協力してくれたid:DigitalGhostさんとzakさんに感謝!)。残念ながら1.47.0の直前だったのでリリースには含まれませんでしたが、1.48.0には入ると思います。

【1.47.0】【fusion】 fusion::copy is undocumented?