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

継承図

SFXWideStringStreamReader クラスの継承図

協調図

SFXWideStringStreamReader クラスの協調図

解説

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

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

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

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

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

参照

SFXWideStringStreamWriter | SFXAnsiStringStreamReader | SFXBinaryStreamReader | SFXElasticStreamReader | SFXWideString | 文字型 | 文字列ストリーム | ストレージ

メンバ

コンストラクタ/デストラクタ
SFXWideStringStreamReader( Void )
SFXWideStringStreamReader クラスのコンストラクタです。
パブリック関数
SFCError ReadSFXAnsiString( SFXAnsiStringPtr param )
ストリームから WChar 型文字列を読み込みます。
SFCError ReadSFXWideString( SFXWideStringPtr param )
ストリームから WChar 型文字列を読み込みます。
SFXWideStringStreamReaderRef operator>>( SFXWideStringStreamReaderRef left , SFXWideStringRef right )
ストリームから WChar 型文字列を読み込みます。
SFXWideStringStreamReaderRef operator>>( SFXWideStringStreamReaderRef left , SFXAnsiStringRef right )
ストリームから WChar 型文字列を読み込みます。
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 から継承)
コールバック関数を表す型です。

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

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

戻り値

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

解説

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

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

[Note] 注意

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

参照

SFXWideStringStreamWriter::WriteSFXAnsiString | SFXWideStringStreamWriter::WriteAChar | SFXWideStringStreamReader::ReadSFXWideString | SFXWideStringStreamReader::operator>> | SFXBinaryStreamReader::ReadSFXAnsiString | SFXWideString | SFXAnsiString | 文字型


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

戻り値

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

解説

この関数は、 ストリームから WChar 型文字列を読み込み、 引数に指定された SFXWideString 文字列に格納します。

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

[Note] 注意

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

参照

SFXWideStringStreamWriter::WriteSFXWideString | SFXWideStringStreamWriter::WriteWChar | SFXWideStringStreamReader::ReadSFXAnsiString | SFXWideStringStreamReader::operator>> | SFXBinaryStreamReader::ReadSFXWideString | SFXWideString | 文字型


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

解説

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

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

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

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

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

[Note] 代替関数

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

[Note] 注意

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

参照

SFXWideStringStreamWriter::operator<< | SFXWideStringStreamReader::ReadSFXAnsiString | SFXWideStringStreamReader::ReadSFXWideString | SFXWideString | SFXAnsiString | 文字型