Boost.Iostream (1)

公開:2006-04-09 07:58
更新:2020-02-15 04:36
カテゴリ:boost,windows,c++

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を保持する。