2012-03-01から1ヶ月間の記事一覧

Iteratee で progress_display を書いてみた

Iteratee を始めようと思いこちらを読んでいたのですが, Lazy I/O must go! - Iteratee: 列挙ベースのI/O - 純粋関数型雑記帳 気になるフレーズが. streamToFile "hoge" `enumPair` throbber とすることにより、ファイル書き込みに簡単に進捗表示をつける…

Boost.Context でジェネレータを作る

知らないうちに Boost.Context が trunk 入りしていたので,それを使って Python のジェネレータのようなものを作る CRTP クラスを書いてみました. generator.hpp メンバ関数 generate を実装するとジェネレータを作り上げてくれます.ジェネレータは,遅延…

ラムダ式でムーブキャプチャ

C++

ラムダ式での変数のキャプチャはコピーまたは参照で行いますが,ムーブするための標準的な方法はありません. std::unique_ptr<int> p(new int(23)); auto f = [std::move(p)] { std::cout << *p << '\n'; }; // こんな書き方はない どうしても変数 p をムーブし</int>…