2006-02-01から1ヶ月間の記事一覧

コンパイルタイム・ポリモーフィズム完結編?

いままでの全部サポート Metafunctionが必要な場合、一貫性が取れないのでlayer1と2はいらないかもしれない Non virtual interfaceは重要だ(あとからどうにでもできる) []#include[] []<boost/test/minimal.hpp>[] []#include[] []<boost/type_traits.hpp>[] []#include[] []<iostream>[]</iostream></boost/type_traits.hpp></boost/test/minimal.hpp>

pointeeとindirect_xxx

boost::pointeeをスマートポインタ用に特殊化しておくと、オブジェクトのように扱えるようになる boost::indirect_funやboost::indirect_iteratorなどで []#include[] []<boost/test/minimal.hpp>[]</boost/test/minimal.hpp>

Boost.Rangeにタグディスパッチを付ける

Boost.RangeやBoost.Serializationのカスタマイズは同じような型がたくさんある場合、無駄に大変だ マクロで何とかしてみてはどうだろう・・・ダウンロード 使い方は以下のような感じで []struct[] []std_container_tag[] []{ };[][]struct[] []my_string_ta…

さよなら無名名前空間

どうも下の些細な変数は異なるcppで関数テンプレートから使用されるとODR違反になってしまうらしい・・・参照 参照 []namespace[][] { [][]int[] []x[][]; } [][]// unnamed namespace[] Boost.Bindのplaceholderも違反している?・・・参照 回避策・・・参照…