Boost.Iostreams (http://www.boost.org/libs/iostreams/doc/index.html)のお勉強メモ。
【目標】
・SourceとSinkによって簡単にSTLのstreamとstreambufferを実装できる。
・streamやstream bufferのFilter定義Frame Workの提供
・すぐに利用できるSourceとSink、Filter定義を提供する。
【コンセプト】
・Sourceはcharacter sequenceの読み取りアクセス機能を提供する
・Sinkはcharacter sequenceの書き込みアクセス機能を提供する
・InputFilterはSourceをフィルタリングする機能を提供する
・OutputFilterはSinkをフィルタリングする機能を提供する
・SourceとSinkはDevicesと呼ばれる。
・InputFilterとOutputFilterはFiltersと呼ばれる。
【Generic Streams と Stream Buffers】
・stream_bufferとstreamはi/oをDeviceに委譲することで標準stream,stream bufferを実装する
・stream_bufferとstreamはDeviceに対しopen,is_open,closeを呼び出し、標準stream機能を提供する。
【Filtering Streams とStream Buffers】
・filter とfiltering_streambufは、 std::stackのようなインターフェースを持ち、FilterとDeviceのchainを保持する。