前のページ次のページ上に戻るホーム SophiaFramework 2.1

6.1. ストリーム

SophiaFramework は、BREW API で用意されている IFileMgr, IFile, INetMgr, ISocket などのインターフェイスを利用し、 BREW インターフェイスよりも使いやすいストリーム クラスを実装しています。

図 6.1. ストリーム クラス

ストリーム クラス

SFUStream はストリームを表す抽象クラスです。 ストリームを実装している具象クラスはすべて SFUStream から派生しています。 SophiaFramework が提供するストリームには ファイル ストリーム、メモリ ストリーム、ネットワーク ストリームの 3 つがあります。

ストリーム クラスはストリーム バッファを介してデータの入出力を行い、 各種データ型に対するインサータ (<<)、エクストラクタ (>>)、マニピュレータ、エンディアン変換など ハイレベルの機能を提供します。

表 6.1. SFUStream のインサータ

operator<< (AChar) AChar を出力します。
operator<< (ConstACharPtr) ヌル終端の AChar 文字列を出力します。 終端のヌル文字は出力されません。
operator<< (ConstWCharPtr) ヌル終端の WChar 文字列を出力します。 終端のヌル文字は出力されません。
operator<< (SInt08) SInt08 を出力します。
operator<< (UInt08) UInt08 を出力します。
operator<< (SInt16) SInt16 を出力します。
operator<< (UInt16) UInt16 を出力します。
operator<< (SInt32) SInt32 を出力します。
operator<< (UInt32) UInt32 を出力します。

表 6.2. SFUStream のエクストラクタ

operator>> (ACharRef) AChar 文字を入力します。
operator>> (SFUAnsiStringRef) ヌル終端の AChar 文字列を入力します。
operator>> (SFUWideStringRef) ヌル終端の WChar 文字列を入力します。
operator>> (SInt08Ref) SInt08 を入力します。
operator>> (UInt08Ref) UInt08 を入力します。
operator>> (SInt16Ref) SInt16 を入力します。
operator>> (UInt16Ref) UInt16 を入力します。
operator>> (SInt32Ref) SInt32 を入力します。
operator>> (UInt32Ref) UInt32 を入力します。