stream_helperは、mwx::stream
インタフェースを付与するヘルパーオブジェクトです。データクラスを参照するヘルパーオブジェクトを生成し、ヘルパーオブジェクト経由でデータの入出力を行います。
以下にはsmplbufの配列b
からヘルパーオブジェクトbs
を生成しmwx::stream::operator <<()
演算子によるデータ入力を行っています。
stream_helper はデータ配列をストリームに見立てて振舞います。
内部にはデータ配列中の読み書き位置を保持しています。次のようにふるまいます。
読み出しまたは書き込みをすると次の読み書き位置に移動します。
最期のデータを読み出した後、またはデータを末尾に追記した後には、読み書き位置は終端となります。
読み書き位置が終端の場合、
available()
がfalse
になります。
読み出しは出来ません。
書き込みは書き込み可能範囲であれば追記します。
stream_helper は、データクラス (smplbuf, EEPROM) のメンバー関数より生成します。
読み書き位置を先頭に移動します。
読み書き位置を設定します。
読み書き位置を返します。終端位置の場合は-1
を返します。
読み書き位置が終端であれば0
を返します。終端でなければそれ以外の値を返します。
whence
設定位置
MWX_SEEK_SET
先頭位置から設定します。offset
に0
を指定するとrewind()
と同じ意味になります。
MWX_SEEK_CUR
現在位置を基準にoffset
分移動しまします。
MWX_SEEK_END
終端位置にします。offset
は0
にすると終端に設定します。-1
を設定すると最後の文字に移動します。