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

継承図

SFXBinaryStreamReader クラスの継承図

協調図

SFXBinaryStreamReader クラスの協調図

解説

SFXBinaryStreamReader クラスは、 ストレージバイナリストリームからバイナリ列(任意の型のデータ)を読み込むときに使います。

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

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

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

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

参照

SFXBinaryStreamWriter | SFXAnsiStringStreamReader | SFXWideStringStreamReader | SFXElasticStreamReader | ストリーム | バイナリストリーム | ストレージ

メンバ

コンストラクタ/デストラクタ
SFXBinaryStreamReader( Void )
SFXBinaryStreamReader クラスのコンストラクタです。
パブリック関数
SFCError ReadBool( BoolPtr param )
ストリームからデータを Bool 値として読み込みます。
SFCError ReadFloat32( Float32Ptr param )
ストリームからデータを Float32 値として読み込みます。
SFCError ReadFloat64( Float64Ptr param )
ストリームからデータを Float64 値として読み込みます。
SFCError ReadSFXAnsiString( SFXAnsiStringPtr param )
ストリームからデータを SFXAnsiString 文字列として読み込みます。
SFCError ReadSFXWideString( SFXWideStringPtr param )
ストリームからデータを SFXWideString 文字列として読み込みます。
SFCError ReadSInt08( SInt08Ptr param )
ストリームからデータを SInt08 値として読み込みます。
SFCError ReadSInt16( SInt16Ptr param )
ストリームからデータを SInt16 値として読み込みます。
SFCError ReadSInt32( SInt32Ptr param )
ストリームからデータを SInt32 値として読み込みます。
SFCError ReadSInt64( SInt64Ptr param )
ストリームからデータを SInt64 値として読み込みます。
SFCError ReadUInt08( UInt08Ptr param )
ストリームからデータを UInt08 値として読み込みます。
SFCError ReadUInt16( UInt16Ptr param )
ストリームからデータを UInt16 値として読み込みます。
SFCError ReadUInt32( UInt32Ptr param )
ストリームからデータを UInt32 値として読み込みます。
SFCError ReadUInt64( UInt64Ptr param )
ストリームからデータを UInt64 値として読み込みます。
SFCError SeekBool( Void )
Bool 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekFloat32( Void )
Float32 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekFloat64( Void )
Float64 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekSFXAnsiString( Void )
次の '\0' の 1 つ後ろまで読み込みポインタを進めます。
SFCError SeekSFXWideString( Void )
次の '\0' の 1 つ後ろまで読み込みポインタを進めます。
SFCError SeekSInt08( Void )
SInt08 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekSInt16( Void )
SInt16 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekSInt32( Void )
SInt32 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekSInt64( Void )
SInt64 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekUInt08( Void )
UInt08 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekUInt16( Void )
UInt16 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekUInt32( Void )
UInt32 値のサイズ分だけストリームの読み込みポインタを進めます。
SFCError SeekUInt64( Void )
UInt64 値のサイズ分だけストリームの読み込みポインタを進めます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SFXBufferRef right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SFXBinaryStreamReader::ManipulatorSPP right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SInt08Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , UInt08Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SInt16Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , UInt16Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SInt32Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , UInt32Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SInt64Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , UInt64Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , Float32Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , Float64Ref right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SFXAnsiStringRef right )
ストリームからデータを読み込みます。
SFXBinaryStreamReaderRef operator>>( SFXBinaryStreamReaderRef left , SFXWideStringRef right )
ストリームからデータを読み込みます。
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 から継承)
ストリームを先頭から検索して、指定したデータと一致する最初のインデックスを取得します。
EndianEnum GetEndian( Void ) (SFXBinaryStream から継承)
エンディアンを取得します。
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 から継承)
読み込みポインタを進めます。
Void SetEndian( EndianEnum param ) (SFXBinaryStream から継承)
エンディアンを設定します。
SFCError SetTrigger( UInt32 size ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
SFCError SetTrigger( SFXBufferConstRef buffer ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
SFCError SetTrigger( VoidConstPtr buffer , UInt32 size ) (SFXStreamReader から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
Bool Triggers( Void ) (SFXStreamReader から継承)
トリガーによりコールバック関数が呼び出されたか判定します。
Void big( SFXBinaryStreamRef stream ) (SFXBinaryStream から継承)
ストリームのエンディアンをビッグエンディアンに設定するマニピュレータです。
Void little( SFXBinaryStreamRef stream ) (SFXBinaryStream から継承)
エンディアンをリトルエンディアンに設定するマニピュレータです。
CallbackSPP (SFXStream から継承)
コールバック関数を表す型です。
EndianEnum (SFXBinaryStream から継承)
ストリームのエンディアンを表す定数です。
ManipulatorSPP (SFXBinaryStream から継承)
SFXBinaryStream クラスのマニピュレータを表す型です。

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

解説

特に何も行いません。


SFXBinaryStreamReader::ReadBool
ストリームからデータを Bool 値として読み込みます。
[ public ]
SFCError ReadBool(
    BoolPtr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された Bool 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteBool 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekBool | SFXBinaryStreamWriter::WriteBool | Bool 型


SFXBinaryStreamReader::ReadFloat32
ストリームからデータを Float32 値として読み込みます。
[ public ]
SFCError ReadFloat32(
    Float32Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

バイナリストリームバッファからデータを読み込み、 指定された Float32 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteFloat32 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekFloat32 | SFXBinaryStreamWriter::WriteFloat32 | 浮動小数点型


SFXBinaryStreamReader::ReadFloat64
ストリームからデータを Float64 値として読み込みます。
[ public ]
SFCError ReadFloat64(
    Float64Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された Float64 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteFloat64 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekFloat64 | SFXBinaryStreamWriter::WriteFloat64 | 浮動小数点型


SFXBinaryStreamReader::ReadSFXAnsiString
ストリームからデータを SFXAnsiString 文字列として読み込みます。
[ public ]
SFCError ReadSFXAnsiString(
    SFXAnsiStringPtr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき、または '\0' を読み込む前にストリームバッファの終端に達したとき: SFERR_INVALID_STATE
  • param 引数が null のとき、 または オペランドに指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM
  • 読み込んだ文字列を格納するのにメモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された SFXAnsiString 型変数に格納します。

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

読み込み時に '\0' よりも先に終端に達したときは SFERR_INVALID_STATE を返します。

[Note] 注意

文字列ストリームSFXAnsiStringStreamReader::ReadSFXAnsiString / SFXWideStringStreamReader::ReadSFXAnsiString 関数の場合、 読み込み時に '\0' よりも先に終端に達したときは SFERR_INVALID_STATE は返らず、 終端までのデータを 1 つの文字列として読み込みます。

[Note] 注意
SFXBinaryStreamWriter::WriteAChar / SFXBinaryStreamWriter::WriteSFXAnsiString 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekSFXAnsiString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXAnsiStringStreamReader::ReadSFXAnsiString | SFXWideStringStreamReader::ReadSFXAnsiString | SFXAnsiString | 文字型


SFXBinaryStreamReader::ReadSFXWideString
ストリームからデータを SFXWideString 文字列として読み込みます。
[ public ]
SFCError ReadSFXWideString(
    SFXWideStringPtr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき、または '\0' を読み込む前にストリームバッファの終端に達したとき: SFERR_INVALID_STATE
  • param 引数が null のとき、 または オペランドに指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM
  • 読み込んだ文字列を格納するのにメモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された SFXWideString 型変数に格納します。

次の '\0' までのデータを 1 つの文字列として読み込みます。 このとき、'\0' は読み込んだ文字列に含まれません。

読み込み時に '\0' よりも先に終端に達したときは SFERR_INVALID_STATE を返します。

[Note] 注意

文字列ストリームSFXAnsiStringStreamReader::ReadSFXWideString / SFXWideStringStreamReader::ReadSFXWideString 関数の場合、 読み込み時に '\0' よりも先に終端に達したときは SFERR_INVALID_STATE は返らず、 終端までのデータを 1 つの文字列として読み込みます。

[Note] 注意
SFXBinaryStreamWriter::WriteWChar / SFXBinaryStreamWriter::WriteSFXWideString 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekSFXWideString | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXWideString | SFXAnsiStringStreamReader::ReadSFXWideString | SFXWideStringStreamReader::ReadSFXWideString| SFXWideString | 文字型


SFXBinaryStreamReader::ReadSInt08
ストリームからデータを SInt08 値として読み込みます。
[ public ]
SFCError ReadSInt08(
    SInt08Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された SInt08 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteSInt08 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekSInt08 | SFXBinaryStreamWriter::WriteSInt08 | 整数型


SFXBinaryStreamReader::ReadSInt16
ストリームからデータを SInt16 値として読み込みます。
[ public ]
SFCError ReadSInt16(
    SInt16Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された SInt16 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteSInt16 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekSInt16 | SFXBinaryStreamWriter::WriteSInt16 | 整数型


SFXBinaryStreamReader::ReadSInt32
ストリームからデータを SInt32 値として読み込みます。
[ public ]
SFCError ReadSInt32(
    SInt32Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された SInt32 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteSInt32 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekSInt32 | SFXBinaryStreamWriter::WriteSInt32 | 整数型


SFXBinaryStreamReader::ReadSInt64
ストリームからデータを SInt64 値として読み込みます。
[ public ]
SFCError ReadSInt64(
    SInt64Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された SInt64 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteSInt64 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekSInt64 | SFXBinaryStreamWriter::WriteSInt64 | 整数型


SFXBinaryStreamReader::ReadUInt08
ストリームからデータを UInt08 値として読み込みます。
[ public ]
SFCError ReadUInt08(
    UInt08Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された UInt08 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteUInt08 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekUInt08 | SFXBinaryStreamWriter::WriteUInt08 | 整数型


SFXBinaryStreamReader::ReadUInt16
ストリームからデータを UInt16 値として読み込みます。
[ public ]
SFCError ReadUInt16(
    UInt16Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された UInt16 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteUInt16 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekUInt16 | SFXBinaryStreamWriter::WriteUInt16 | 整数型


SFXBinaryStreamReader::ReadUInt32
ストリームからデータを UInt32 値として読み込みます。
[ public ]
SFCError ReadUInt32(
    UInt32Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された UInt32 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteUInt32 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekUInt32 | SFXBinaryStreamWriter::WriteUInt32 | 整数型


SFXBinaryStreamReader::ReadUInt64
ストリームからデータを UInt64 値として読み込みます。
[ public ]
SFCError ReadUInt64(
    UInt64Ptr param   // 読み込む変数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • param 引数が null のとき: SFERR_INVALID_PARAM
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファからデータを読み込み、 指定された UInt64 型変数に格納します。

[Note] 注意
SFXBinaryStreamWriter::WriteUInt64 関数は、逆の操作を行います。

参照

SFXBinaryStreamReader::SeekUInt64 | SFXBinaryStreamWriter::WriteUInt64 | 整数型


SFXBinaryStreamReader::SeekBool
Bool 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekBool(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 Bool 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadBool | Bool 型


SFXBinaryStreamReader::SeekFloat32
Float32 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekFloat32(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 Float32 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadFloat32 | 浮動小数型


SFXBinaryStreamReader::SeekFloat64
Float64 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekFloat64(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 Float64 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadFloat64 | 浮動小数型


SFXBinaryStreamReader::SeekSFXAnsiString
次の '\0' の 1 つ後ろまで読み込みポインタを進めます。
[ public ]
SFCError SeekSFXAnsiString(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき、または '\0' が見つからないとき: SFERR_INVALID_STATE

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 次の AChar 型の '\0' (1 バイト) の 1 つ後ろまで進めます 。

[Note] 注意
'\0' が見つからないときは、 SFERR_INVALID_STATE を返します。

参照

SFXBinaryStreamReader::ReadSFXAnsiString | SFXAnsiString | 文字型


SFXBinaryStreamReader::SeekSFXWideString
次の '\0' の 1 つ後ろまで読み込みポインタを進めます。
[ public ]
SFCError SeekSFXWideString(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき、または '\0' が見つからないとき: SFERR_INVALID_STATE

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 次の WChar 型の '\0' (2 バイト) の 1 つ後ろまで進めます 。

[Note] 注意
'\0' が見つからないときは、 SFERR_INVALID_STATE を返します。

参照

SFXBinaryStreamReader::ReadSFXWideString | SFXWideString | 文字型


SFXBinaryStreamReader::SeekSInt08
SInt08 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekSInt08(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 SInt08 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadSInt08 | 整数型


SFXBinaryStreamReader::SeekSInt16
SInt16 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekSInt16(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 SInt16 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadSInt16 | 整数型


SFXBinaryStreamReader::SeekSInt32
SInt32 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekSInt32(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 SInt32 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadSInt32 | 整数型


SFXBinaryStreamReader::SeekSInt64
SInt64 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekSInt64(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 SInt64 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadSInt64 | 整数型


SFXBinaryStreamReader::SeekUInt08
UInt08 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekUInt08(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 UInt08 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadUInt08 | 整数型


SFXBinaryStreamReader::SeekUInt16
UInt16 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekUInt16(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 UInt16 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadUInt16 | 整数型


SFXBinaryStreamReader::SeekUInt32
UInt32 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekUInt32(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 UInt32 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadUInt32 | 整数型


SFXBinaryStreamReader::SeekUInt64
UInt64 値のサイズ分だけストリームの読み込みポインタを進めます。
[ public ]
SFCError SeekUInt64(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • ストリームバッファの終端を超えて読み込みポインタを進めようとしたとき: SFERR_FAILED

解説

この関数は、 バイナリストリームバッファ内の読み取りポインタの位置を、 UInt64 値のサイズ分だけ進めます。

[Note] 注意
読み込みポインタを進めるとストリームバッファの終端を超える場合は、 SFERR_FAILED を返します。

参照

SFXBinaryStreamReader::ReadUInt64 | 整数型


SFXBinaryStreamReader::operator>>
ストリームからデータを読み込みます。
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SFXBufferRef right              // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left                 // ストリーム
    SFXBinaryStreamReader::ManipulatorSPP right   // マニピュレータ
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SInt08Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    UInt08Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SInt16Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    UInt16Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SInt32Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    UInt32Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SInt64Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    UInt64Ref right                 // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    Float32Ref right                // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    Float64Ref right                // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SFXAnsiStringRef right          // 読み込む変数
);
[ public, friend ]
SFXBinaryStreamReaderRef operator>>(
    SFXBinaryStreamReaderRef left   // ストリーム
    SFXWideStringRef right          // 読み込む変数
);

解説

このオペレータは、 ストリームからバイナリ列(任意の型のデータ)を読み込むエクストラクタ(>> 演算子)です。

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

  • ストリームが設定されていないとき (、または文字列の場合、'\0' を読み込む前に終端に達したとき): SFERR_INVALID_STATE エラー
  • オペランドに指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM エラー
  • 文字列を読み込むのにメモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファから読み込み可能なサイズよりも大きなデータを読み込もうとしたとき: SFERR_FAILED エラー

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

[Caution] 注意

エクストラクタのオペランドであるデータを読み込む領域は、 この演算子を実行する前に確保しておく必要があります。

SFXBuffer 型の場合は、 予め SFXBuffer::SetSize 関数でサイズを設定しておく必要があります。

[Note] 文字列の場合

'\0' までの AChar / WChar 型文字列を読み込み、 オペランドに指定された文字列クラスの変数に格納します(必要に応じて型変換します)。

'\0' を読み込む前に終端に達した場合はエラーになります。 このとき、right 変数の内容は変化せず、実行前と同じ値です。

[Note] 注意

文字列ストリームのエクストラクタ(>> 演算子)の場合、 読み込み時に '\0' よりも先に終端に達したときはエラーにならず、 終端までのデータを 1 つの文字列として読み込みます。

参照

SFXBinaryStreamWriter::operator< | SFXBinaryStreamReader::ReadBool | SFXBinaryStreamReader::ReadSInt08 | SFXBinaryStreamReader::ReadSInt16 | SFXBinaryStreamReader::ReadSInt32 | SFXBinaryStreamReader::ReadSInt64 | SFXBinaryStreamReader::ReadUInt08 | SFXBinaryStreamReader::ReadUInt16 | SFXBinaryStreamReader::ReadUInt32 | SFXBinaryStreamReader::ReadUInt64 | SFXBinaryStreamReader::ReadFloat32 | SFXBinaryStreamReader::ReadFloat64 | SFXBinaryStreamReader::ReadSFXAnsiString | SFXBinaryStreamReader::ReadSFXWideString