前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFXAnsiStringStreamReader
読み込み用ストリームから AChar 型文字列を読み込むためのクラスです。
#include <SFXAnsiStringStreamReader.h.hpp>
class SFXAnsiStringStreamReader : public SFXStreamReader, public SFXStringStream;
SFMTYPEDEFCLASS(SFXAnsiStringStreamReader)

継承図

SFXAnsiStringStreamReader クラスの継承図

協調図

SFXAnsiStringStreamReader クラスの協調図

解説

SFXAnsiStringStreamReader クラスは、 ストレージ文字列ストリームから AChar 文字列を読み込むときに使います。

可変長バッファストリームの場合は、 内部で SFXElasticStreamReader クラスが利用されますが、 開発者はこれについて意識する必要はありません。

[Caution] エクストラクタ(>> 演算子)

文字列ストリームでは、 SFXBuffer インスタンスを右オペランドに持つエクストラクタ(>> 演算子)が定義されていませんので、 SFXBuffer インスタンスを右オペランドに指定できません。

しかし、バイナリストリームでは定義されていますので、 SFXBuffer インスタンスをエクストラクタ(>> 演算子)の右オペランドに指定できます。

参照

SFXAnsiStringStreamWriter | SFXWideStringStreamReader | SFXBinaryStreamReader | SFXElasticStreamReader | SFXAnsiString | 文字型 | 文字列ストリーム | ストレージ

メンバ

コンストラクタ/デストラクタ
SFXAnsiStringStreamReader( Void )
SFXAnsiStringStreamReader クラスのコンストラクタです。
パブリック関数
SFCError ReadSFXAnsiString( SFXAnsiStringPtr param )
ストリームから AChar 型文字列を読み込みます。
SFCError ReadSFXWideString( SFXWideStringPtr param )
ストリームから AChar 型文字列を読み込みます。
SFXAnsiStringStreamReaderRef operator>>( SFXAnsiStringStreamReaderRef left , SFXAnsiStringRef right )
ストリームから AChar 型文字列を読み込みます。
SFXAnsiStringStreamReaderRef operator>>( SFXAnsiStringStreamReaderRef left , SFXWideStringRef right )
ストリームから AChar 型文字列を読み込みます。
Void Attach( SFXInputStreamPtr stream ) (SFXStreamReader から継承)
このストリームに指定されたストリームを結び付けます。
Void Cancel( Void ) (SFXStreamReader から継承)
ストリームからの読み込みをキャンセルします。
SFXInputStreamPtr Detach( Void ) (SFXStreamReader から継承)
このストリームに結び付けられているストリームを切り離します。
Bool Ends( Void ) (SFXStreamReader から継承)
読み込みポインタがストリームの終端に到達したか判定します。
SFCError Fetch( Void ) (SFXStreamReader から継承)
ストレージからストリームにデータを読み込みます。
SFCError Fetch( CallbackSPP spp , VoidPtr reference ) (SFXStreamReader から継承)
ストレージからストリームにデータを読み込みます。
SInt32 FirstIndexOf( Byte byte , SInt32 index = SINT32_MINIMUM ) (SFXStreamReader から継承)
ストリームを先頭から検索して、指定したデータと一致する最初のインデックスを取得します。
SInt32 FirstIndexOf( SFXBufferConstRef buffer , SInt32 index = SINT32_MINIMUM ) (SFXStreamReader から継承)
ストリームを先頭から検索して、指定したデータと一致する最初のインデックスを取得します。
SInt32 FirstIndexOf( VoidConstPtr buffer , UInt32 size , SInt32 index = SINT32_MINIMUM ) (SFXStreamReader から継承)
ストリームを先頭から検索して、指定したデータと一致する最初のインデックスを取得します。
UInt32 GetReadableSize( Void ) (SFXStreamReader から継承)
ストリームから読み込み可能なデータサイズを取得します。[単位: バイト]
SInt32 LastIndexOf( Byte byte , SInt32 index = SINT32_MAXIMUM ) (SFXStreamReader から継承)
ストリームを終端から検索して、指定したデータと一致する最後のインデックスを取得します。
SInt32 LastIndexOf( SFXBufferConstRef buffer , SInt32 index = SINT32_MAXIMUM ) (SFXStreamReader から継承)
ストリームを終端から検索して、指定したデータと一致する最後のインデックスを取得します。
SInt32 LastIndexOf( VoidConstPtr buffer , UInt32 size , SInt32 index = SINT32_MAXIMUM ) (SFXStreamReader から継承)
ストリームを終端から検索して、指定したデータと一致する最後のインデックスを取得します。
SFCError Read( SFXBufferPtr buffer ) (SFXStreamReader から継承)
ストリームからデータを読み込みます。
SFCError Read( VoidPtr buffer , UInt32 size ) (SFXStreamReader から継承)
ストリームからデータを読み込みます。
Void Release( Void ) (SFXStreamReader から継承)
ストリームを解放します。
SFCError ResetTrigger( Void ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)をリセットします。
SFCError Seek( UInt32 size ) (SFXStreamReader から継承)
読み込みポインタを進めます。
SFCError SetTrigger( UInt32 size ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
SFCError SetTrigger( SFXBufferConstRef buffer ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
SFCError SetTrigger( VoidConstPtr buffer , UInt32 size ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
Bool Triggers( Void ) (SFXStreamReader から継承)
トリガーによりコールバック関数が呼び出されたか判定します。
CallbackSPP (SFXStream から継承)
コールバック関数を表す型です。

SFXAnsiStringStreamReader::SFXAnsiStringStreamReader
SFXAnsiStringStreamReader クラスのコンストラクタです。
[ public, explicit ]
SFXAnsiStringStreamReader(Void);

解説

特に何も行いません。


SFXAnsiStringStreamReader::ReadSFXAnsiString
ストリームから AChar 型文字列を読み込みます。
[ public ]
SFCError ReadSFXAnsiString(
    SFXAnsiStringPtr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • 読み込んだ文字列を格納するのにメモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、 ストリームバッファから AChar 型文字列を読み込み、 引数に指定した SFXAnsiString 型変数に格納します。

次の AChar 型 の '\0' (1 バイト)、または終端までのデータを 1 つの文字列として読み込みます。 このとき、'\0' は読み込んだ SFXAnsiString 文字列に含まれません。

[Note] 注意

バイナリストリームSFXBinaryStreamReader::ReadSFXAnsiString 関数の場合、 読み込み時に '\0' よりも先に終端に達したときは SFERR_INVALID_STATE が返ります。

参照

SFXAnsiStringStreamWriter::WriteSFXAnsiString | SFXAnsiStringStreamWriter::WriteAChar | SFXAnsiStringStreamReader::ReadSFXWideString | SFXAnsiStringStreamReader::operator>> | SFXBinaryStreamReader::ReadSFXAnsiString | SFXAnsiString | 文字型


SFXAnsiStringStreamReader::ReadSFXWideString
ストリームから AChar 型文字列を読み込みます。
[ public ]
SFCError ReadSFXWideString(
    SFXWideStringPtr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • 読み込んだ文字列を格納するのにメモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、 ストリームバッファから AChar 型文字列を型変換して読み込み、 引数に指定した SFXWideString 型変数に格納します。

次の AChar 型 の '\0' (1 バイト)、または終端までのデータを 1 つの文字列として読み込みます。 このとき、'\0' は読み込んだ SFXWideString 文字列に含まれません。

[Note] 注意

バイナリストリームSFXBinaryStreamReader::ReadSFXWideString 関数の場合、 読み込み時に '\0' よりも先に終端に達したときは SFERR_INVALID_STATE が返ります。

参照

SFXAnsiStringStreamWriter::WriteSFXWideString | SFXAnsiStringStreamWriter::WriteWChar | SFXAnsiStringStreamReader::ReadSFXAnsiString | SFXAnsiStringStreamReader::operator>> | SFXBinaryStreamReader::ReadSFXWideString | SFXAnsiString | SFXWideString | 文字型


SFXAnsiStringStreamReader::operator>>
ストリームから AChar 型文字列を読み込みます。
[ public, friend ]
SFXAnsiStringStreamReaderRef operator>>(
    SFXAnsiStringStreamReaderRef left   // ストリーム
    SFXAnsiStringRef right              // 読み込む変数
);
[ public, friend ]
SFXAnsiStringStreamReaderRef operator>>(
    SFXAnsiStringStreamReaderRef left   // ストリーム
    SFXWideStringRef right              // 読み込む変数
);

解説

このオペレータは、 ストリームバッファから AChar 型文字列を読み込むエクストラクタ(>> 演算子)です。

AChar 型 の '\0' (1 バイト)、または終端までの AChar 型文字列を読み込み、 オペランドに指定した文字列クラスの変数に格納します(必要に応じて型変換します)。 このとき、'\0' は読み込んだ文字列に含まれません。

下記の理由でエラーが発生した場合は、 ストリームからデータは読み込まれず、エラー値も返されず、何も起こりません。

  • ストリームが設定されていないとき: SFERR_INVALID_STATE エラー
  • param 引数が null のとき: SFERR_INVALID_PARAM エラー
  • 文字列を読み込むのにメモリ不足のとき: SFERR_NO_MEMORY エラー

(※)但し、下記のこのインサータの代替関数は、これらのエラー値を返します。

[Note] 代替関数

戻り値を返さない以外は、 SFXAnsiStringStreamReader::ReadSFXAnsiString / SFXAnsiStringStreamReader::ReadSFXWideString 関数と同等です。

[Note] 注意

バイナリストリームSFXBinaryStreamReader::operator>>エクストラクタ(>> 演算子)の場合、 読み込み時に '\0' よりも先に終端に達したときはエラーになります。

参照

SFXAnsiStringStreamWriter::operator<< | SFXAnsiStringStreamReader::ReadSFXAnsiString | SFXAnsiStringStreamReader::ReadSFXWideString | SFXAnsiString | SFXWideString | 文字型