ここ最近、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 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?