知らないうちに Boost.Context が trunk 入りしていたので,それを使って Python のジェネレータのようなものを作る CRTP クラスを書いてみました. generator.hpp メンバ関数 generate を実装するとジェネレータを作り上げてくれます.ジェネレータは,遅延評価される range として振る舞います. 以下の例はフィボナッチ数列を返すジェネレータを作るものです. #include <iostream> #include <tuple> #include "generator.hpp" struct fib : iorate::generator<fib, int> { int max; explicit fib(int max) : max(max) {} template <class Context> void generate(Context

