using directiveは駄目かもしれない
- using directiveはどこで使っても安全にならない
- placeholderなどの名前をまとめてインポートしたいときは、結局using declarationに展開するマクロが必要かもしれない
nested lambda
- lazyにおまけでbind関数を変更するためのパラメータ(Bind)を付けて置いたがこれが重要だった
- Bindにresult_of_lazy
::typeを渡すとネストされたlazyな関数を作れる (実装) - これで機械的に複雑なlambda式が作れるようになった、かも
- lvNはbll::protectをN回呼び出す
- nest1はlazyと同じ
// \x -> (\y -> (\z -> foo(y,z,x))) BOOST_CHECK( nest3(foo)(lv1(_1), lv2(_1), lv0(_1)) (3)(6)(1) == foo(6,1,3) ); // \x -> apply(\y -> minus(x,y), plus(x,3)) BOOST_CHECK( nest1(apply)(nest2(minus)(lv0(_1), lv1(_1)), nest1(plus)(lv0(_1), 3)) (9) == minus(9, plus(9,3)) );
Variadic functions in C++98
- fuse/unfuseを使ってvariadic functionのエミュレートを試みた…実装
- Argsに何を渡すかだが、将来的にはfusion::vector固定でいいと思う
- FusionSequenceはRangeのようにviewを取り出せる