戻り値の型をテンプレート仮引数にする
- Boost.Phoenix-2にEvalPolicyという概念があるんですが、戻り値の型がテンプレート仮引数になっている
- 戻り値の型をユーザーが書かなくてよくなる (ソースが劇的にすっきりする)
- ライブラリ側はこちらに注意
- ちなみに以下のようなコードを本当に使っていた
[]struct[] []A[]
[]{[]
[]A[][]([][]int[] []x[][]) : [][]x[][]([][]x[][]) { }[]
[]int[] []x[][];[]
[]};[]