雑記この広告は、90日以上更新していないブログに表示しています。boost_interprocess前回のvectorstreamと同じで、interprocessのstreamsのもう1つ、bufferstreamの話。bufferstream?"buffer"については皆さんが普段思ってる通りで良いと思います。何かしらのデータを溜めておくための領域。bufferstreamは固定サイズバッファにデータを読み書きするためのiostreamベースなクラスです。テンプレート引数はバッファの型(CharT)とその型に対するtraits(CharTraits)です。こちらはデフォルトで利用できるtypedefがあります。wobufferstream;固定サイズバッファへの書き込みができるのですが、オーバーフローしてるかどうかのチェックもできます。vectorstreamと同じで内部で使っているバッファを取得できるようにbufferメソッドがあります。これはバッファへのポインタとバッファのサイズをpairで取得できます。オーバーロードされており、バッファを設定し直すことができます。size));入出力方法はvectorstream同様iostreamベースなのでそこまで変わりません。BOOST_ASSERT(boost::equal(data,data2));}バッファサイズを固定して書き込みたい場合はvectorstreamよりbufferstreamの方が良い、という風にドキュメントにも書かれているようです。ファイルイメージをコピーしたいときなどに使うんでしょうか。サイズが制限されている時など。interprocessが共有メモリを使うためのライブラリですから、本来の目的で使用している場合は結構使う場面は多いのかもしれません。今日はinterprocessのstreamsの話。最近のネタ4作目ぐらい。(研究室向け)月別アーカイブはてなブログをはじめよう!krustfさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。