Iostreams

ここまでコード

ということを思いついた.それだけ. #ちなみに上のコードは2時間ぐらいでちょーてけとーに組んだだけの,まともにテストもしてないものなので,何が起こってもわたしゃ知らん. #いちおーモチベーションとしては,複数のオブジェクト (コンテナや Range) …

Range の Source 化

#include <string> #include <vector> #include <algorithm> #include <ios> #include <iostream> #include <boost/mpl/bool.hpp> #include <boost/mpl/identity.hpp> #include <boost/type_traits/is_convertible.hpp> #include <boost/shared_ptr.hpp> #include <boost/utility/result_of.hpp> #include </boost/utility/result_of.hpp></boost/shared_ptr.hpp></boost/type_traits/is_convertible.hpp></boost/mpl/identity.hpp></boost/mpl/bool.hpp></iostream></ios></algorithm></vector></string>

演算子によるデバイス/フィルタの合成/コピー

ちぅか,昨日のをスコープ限定型演算子構文糖(http://d.hatena.ne.jp/Cryolite/20050205#p1 の『[Boost][Range]iterationできるrange』を参照)使って書いたら楽しいことになる予感!! namespace cry{ namespace iostreams{ namespace composite_operators…

うはーゆめがひろがりんぐ

Boost.Iostreams で遊んでみた結果,最終的に以下のようなコードに行き着く. ( cry::iostreams::newline_filter は boost::iostreams::newline_filter が Peekable を要求していてあんまり使い物にならないのを改良したもの. cry::iostreams::u_converter…

コード変換と blocking

どーでも良いけれど,いや良くないけれど,ストリーム上でのコード変換って一般に non-blocking なんだよなー.Boost.Iostreams って今のところ blocking I/O しか対応してないから,non-blocking I/O を blocking I/O に修正しないといかんのが微妙に面倒と…

A challenging task - Seekable conversion stream filter

今,シークが可能な入力ストリームがあったとして,そのストリームに何らかの変換,例えば文字コード変換を行ってその変換結果を読むようなフィルタを実装するとする. 便宜上,(フィルタから見た立場で)変換前の入力ストリームを「入力ストリーム」,変換…