2008-01-01から1年間の記事一覧

Boost.Egg

ぎりぎりで完成…ドキュメント おかしいところがあれば教えてください たぶんBoost1.36からboost::functionのtemplate parameterからAllocator部分がなくなります

using directiveは駄目かもしれない

using directiveはどこで使っても安全にならない placeholderなどの名前をまとめてインポートしたいときは、結局using declarationに展開するマクロが必要かもしれない

nested lambda

lazyにおまけでbind関数を変更するためのパラメータ(Bind)を付けて置いたがこれが重要だった Bindにresult_of_lazy::typeを渡すとネストされたlazyな関数を作れる (実装) これで機械的に複雑なlambda式が作れるようになった、かも lvNはbll::protectをN回呼…

PP_ARRAY_ITERATE

C++

数字じゃなくarrayをfile iterationするマクロ…実装とサンプル 実装はBOOST_PP_ITERATEをラップしただけ これでhorizontalなmacroは一掃してしまおう

Variadic functions in C++98

C++

fuse/unfuseを使ってvariadic functionのエミュレートを試みた…実装 Argsに何を渡すかだが、将来的にはfusion::vector固定でいいと思う FusionSequenceはRangeのようにviewを取り出せる

vc-9.0のADLのバグ

C++

親のnamespaceが子のnamespaceの型にassociateされてしまう これによってboost::noncopyableを継承する全ての型はboost名前空間にassociateされると思われる

vs msvc-7.1 const array

C++

deduceされた配列にconstを付けるとpartial specializationがいっさい効かなくなるvc-7.1のバグの回避策を発見…実装 これでようやくconstと書くことができる 今まではconstの代わりにboost::add_constを関数の宣言のところに書かなければいけなかった