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

継承図

SFXBinaryStreamWriter クラスの継承図

協調図

SFXBinaryStreamWriter クラスの協調図

解説

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

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

[Caution] インサータ(<< 演算子)

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

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

参照

SFXBinaryStreamReader | SFXAnsiStringStreamWriter | SFXWideStringStreamWriter | SFXElasticStreamWriter | ストリーム | バイナリストリーム | ストレージ

メンバ

コンストラクタ/デストラクタ
SFXBinaryStreamWriter( Void )
SFXBinaryStreamWriter クラスのコンストラクタです。
パブリック関数
SFCError WriteAChar( ACharConstPtr string , SInt32 length = -1 )
指定された文字列をストリームに書き込みます。
SFCError WriteBool( Bool param )
データを Bool 値としてストリームに書き込みます。
SFCError WriteFloat32( Float32 param )
データを Float32 値としてストリームに書き込みます。
SFCError WriteFloat64( Float64 param )
データを Float64 値としてストリームに書き込みます。
SFCError WriteSFXAnsiString( SFXAnsiStringConstRef param )
指定された文字列をストリームに書き込みます。
SFCError WriteSFXWideString( SFXWideStringConstRef param )
指定された文字列をストリームに書き込みます。
SFCError WriteSInt08( SInt08 param )
データを SInt08 値としてストリームに書き込みます。
SFCError WriteSInt16( SInt16 param )
データを SInt16 値としてストリームに書き込みます。
SFCError WriteSInt32( SInt32 param )
データを SInt32 値としてストリームに書き込みます。
SFCError WriteSInt64( SInt64 param )
データを SInt64 値としてストリームに書き込みます。
SFCError WriteUInt08( UInt08 param )
データを UInt08 値としてストリームに書き込みます。
SFCError WriteUInt16( UInt16 param )
データを UInt16 値としてストリームに書き込みます。
SFCError WriteUInt32( UInt32 param )
データを UInt32 値としてストリームに書き込みます。
SFCError WriteUInt64( UInt64 param )
データを UInt64 値としてストリームに書き込みます。
SFCError WriteWChar( WCharConstPtr string , SInt32 length = -1 )
指定された文字列をストリームに書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXBufferConstRef right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXBinaryStreamWriter::ManipulatorSPP right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt08 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt08 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt16 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt16 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt32 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt32 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt64 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt64 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , Float32 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , Float64 right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , ACharConstPtr right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , WCharConstPtr right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXAnsiStringConstRef right )
ストリームへデータを書き込みます。
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXWideStringConstRef right )
ストリームへデータを書き込みます。
Void Attach( SFXOutputStreamPtr stream ) (SFXStreamWriter から継承)
このストリームに指定されたストリームを結び付けます。
Void Cancel( Void ) (SFXStreamWriter から継承)
ストリームへの書き込みをキャンセルします。
SFXOutputStreamPtr Detach( Void ) (SFXStreamWriter から継承)
このストリームに結び付けられているストリームを切り離します。
SFCError Flush( Void ) (SFXStreamWriter から継承)
ストリームのデータをストレージに書き込みます。
SFCError Flush( CallbackSPP spp , VoidPtr reference ) (SFXStreamWriter から継承)
ストリームのデータをストレージに書き込みます。
EndianEnum GetEndian( Void ) (SFXBinaryStream から継承)
エンディアンを取得します。
UInt32 GetWritableSize( Void ) (SFXStreamWriter から継承)
ストリームに書き込み可能なデータサイズを取得します。[単位: バイト]
Void Release( Void ) (SFXStreamWriter から継承)
ストリームを解放します。
SFCError ResetTrigger( Void ) (SFXStreamWriter から継承)
トリガー(コールバック関数が呼ばれるタイミング)をリセットします。
Void SetEndian( EndianEnum param ) (SFXBinaryStream から継承)
エンディアンを設定します。
SFCError SetTrigger( UInt32 size ) (SFXStreamWriter から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
SFCError SetTrigger( SFXBufferConstRef buffer ) (SFXStreamWriter から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
SFCError SetTrigger( VoidConstPtr buffer , UInt32 size ) (SFXStreamWriter から継承)
トリガー(コールバック関数が呼ばれるタイミング)を設定します。
Bool Triggers( Void ) (SFXStreamWriter から継承)
トリガーによりコールバック関数が呼び出されたか判定します。
SFCError Write( SFXBufferConstRef buffer ) (SFXStreamWriter から継承)
ストリームにデータを書き込みます。
SFCError Write( VoidConstPtr buffer , UInt32 size ) (SFXStreamWriter から継承)
ストリームにデータを書き込みます。
Void big( SFXBinaryStreamRef stream ) (SFXBinaryStream から継承)
ストリームのエンディアンをビッグエンディアンに設定するマニピュレータです。
Void little( SFXBinaryStreamRef stream ) (SFXBinaryStream から継承)
エンディアンをリトルエンディアンに設定するマニピュレータです。
CallbackSPP (SFXStream から継承)
コールバック関数を表す型です。
EndianEnum (SFXBinaryStream から継承)
ストリームのエンディアンを表す定数です。
ManipulatorSPP (SFXBinaryStream から継承)
SFXBinaryStream クラスのマニピュレータを表す型です。

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

解説

特に何も行いません。


SFXBinaryStreamWriter::WriteAChar
指定された文字列をストリームに書き込みます。
[ public ]
SFCError WriteAChar(
    ACharConstPtr string   // 書き込む文字列
    SInt32 length = -1     // 書き込む文字列の長さ
);

引数

string

書き込む AChar 型文字列です。

length

書き込む文字列の長さです。-1 を指定すると '\0' までの文字列('\0' を含む)をストリームに書き込みます。

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • 指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された長さの AChar 型文字列を末尾に '\0' を付加してバイナリストリームバッファに書き込みます。

length 引数に "-1" を指定された場合は、 string 引数に指定された AChar 型 の '\0' (1 バイト) までの文字列('\0' を含む)を書き込みます。

[Note] 注意

文字列ストリームSFXAnsiStringStreamWriter::WriteAChar 関数は、 文字列の末尾に AChar 型 の '\0' (1 バイト) を付加しません。

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

参照

SFXBinaryStreamReader::ReadSFXAnsiString | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteSFXWideString | SFXAnsiStringStreamWriter::WriteAChar | 文字型


SFXBinaryStreamWriter::WriteBool
データを Bool 値としてストリームに書き込みます。
[ public ]
SFCError WriteBool(
    Bool param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された Bool 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadBool | Bool 型


SFXBinaryStreamWriter::WriteFloat32
データを Float32 値としてストリームに書き込みます。
[ public ]
SFCError WriteFloat32(
    Float32 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された Float32 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadFloat32 | 浮動小数点型


SFXBinaryStreamWriter::WriteFloat64
データを Float64 値としてストリームに書き込みます。
[ public ]
SFCError WriteFloat64(
    Float64 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された Float64 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadFloat64 | 浮動小数点型


SFXBinaryStreamWriter::WriteSFXAnsiString
指定された文字列をストリームに書き込みます。
[ public ]
SFCError WriteSFXAnsiString(
    SFXAnsiStringConstRef param   // 書き込む文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • 指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された SFXAnsiString 文字列を末尾に AChar 型 の '\0' (1 バイト) を付加してバイナリストリームバッファに書き込みます。

[Note] 注意

文字列ストリームSFXAnsiStringStreamWriter::WriteSFXAnsiString 関数は、 文字列の末尾に '\0' は付加しません。

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

参照

SFXBinaryStreamReader::ReadSFXAnsiString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXWideString | SFXAnsiStringStreamWriter::WriteSFXAnsiString | SFXAnsiString | 文字型


SFXBinaryStreamWriter::WriteSFXWideString
指定された文字列をストリームに書き込みます。
[ public ]
SFCError WriteSFXWideString(
    SFXWideStringConstRef param   // 書き込む文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • 指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された SFXWideString 文字列を末尾に WChar 型 の '\0' (2 バイト) を付加してバイナリストリームバッファに書き込みます。

[Note] 注意

文字列ストリームSFXWideStringStreamWriter::WriteSFXWideString 関数は、 文字列の末尾に WChar 型 の '\0' (2 バイト) を付加しません。

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

参照

SFXBinaryStreamReader::ReadSFXWideString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXWideStringStreamWriter::WriteSFXWideString | SFXWideString | 文字型


SFXBinaryStreamWriter::WriteSInt08
データを SInt08 値としてストリームに書き込みます。
[ public ]
SFCError WriteSInt08(
    SInt08 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された SInt08 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadSInt08 | 整数型


SFXBinaryStreamWriter::WriteSInt16
データを SInt16 値としてストリームに書き込みます。
[ public ]
SFCError WriteSInt16(
    SInt16 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された SInt16 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadSInt16 | 整数型


SFXBinaryStreamWriter::WriteSInt32
データを SInt32 値としてストリームに書き込みます。
[ public ]
SFCError WriteSInt32(
    SInt32 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された SInt32 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadSInt32 | 整数型


SFXBinaryStreamWriter::WriteSInt64
データを SInt64 値としてストリームに書き込みます。
[ public ]
SFCError WriteSInt64(
    SInt64 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された SInt64 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadSInt64 | 整数型


SFXBinaryStreamWriter::WriteUInt08
データを UInt08 値としてストリームに書き込みます。
[ public ]
SFCError WriteUInt08(
    UInt08 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された UInt08 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadUInt08 | 整数型


SFXBinaryStreamWriter::WriteUInt16
データを UInt16 値としてストリームに書き込みます。
[ public ]
SFCError WriteUInt16(
    UInt16 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された UInt16 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadUInt16 | 整数型


SFXBinaryStreamWriter::WriteUInt32
データを UInt32 値としてストリームに書き込みます。
[ public ]
SFCError WriteUInt32(
    UInt32 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された UInt32 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadUInt32 | 整数型


SFXBinaryStreamWriter::WriteUInt64
データを UInt64 値としてストリームに書き込みます。
[ public ]
SFCError WriteUInt64(
    UInt64 param   // 書き込むデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された UInt64 値をバイナリストリームバッファに書き込みます。

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

参照

SFXBinaryStreamReader::ReadUInt64 | 整数型


SFXBinaryStreamWriter::WriteWChar
指定された文字列をストリームに書き込みます。
[ public ]
SFCError WriteWChar(
    WCharConstPtr string   // 書き込む文字列
    SInt32 length = -1     // 書き込む文字列の長さ
);

引数

string

書き込む WChar 型文字列です。

length

書き込む文字列の長さです。-1 を指定すると '\0' までの文字列('\0' を含む)をストリームに書き込みます。

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • 指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED

解説

この関数は、 指定された長さの WChar 型文字列を末尾に '\0' を付加してバイナリストリームバッファに書き込みます。

length 引数に "-1" を指定された場合は、 string 引数に指定された WChar 型 の '\0' (2 バイト) までの文字列('\0' を含む)を書き込みます。

[Note] 注意

文字列ストリームSFXWideStringStreamWriter::WriteWChar 関数は、 文字列の末尾に WChar 型 の '\0' (2 バイト) を付加しません。

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

参照

SFXBinaryStreamReader::ReadSFXWideString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteSFXWideString | SFXWideStringStreamWriter::WriteWChar | 文字型


SFXBinaryStreamWriter::operator<
ストリームへデータを書き込みます。
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SFXBufferConstRef right         // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left                 // ストリーム
    SFXBinaryStreamWriter::ManipulatorSPP right   // マニピュレータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SInt08 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    UInt08 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SInt16 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    UInt16 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SInt32 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    UInt32 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SInt64 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    UInt64 right                    // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    Float32 right                   // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    Float64 right                   // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    ACharConstPtr right             // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    WCharConstPtr right             // 書き込むデータ
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SFXAnsiStringConstRef right     // 書き込む文字列
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // ストリーム
    SFXWideStringConstRef right     // 書き込む文字列
);

解説

このオペレータは、 ストリームバッファへオペランドのデータを書き込むインサータ(< 演算子)です。

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

  • ストリームが設定されていないとき: SFERR_INVALID_STATE エラー
  • オペランドに指定されたデータ領域の一部がストリームバッファと重なるとき: SFERR_INVALID_PARAM エラー
  • メモリ不足のとき: SFERR_NO_MEMORY エラー
  • ストリームバッファに書き込み可能なサイズよりも大きなデータを書き込もうとしたとき: SFERR_FAILED エラー

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

[Note] 文字列の場合

'\0' を文字列の末尾に付加して書き込みます。

文字列ストリームの Write 関数やインサータ(< 演算子)は、 文字列末尾に '\0' を書き込みません。

参照

SFXBinaryStreamReader::operator>> | SFXBinaryStreamWriter::WriteBool | SFXBinaryStreamWriter::WriteSInt08 | SFXBinaryStreamWriter::WriteSInt16 | SFXBinaryStreamWriter::WriteSInt32 | SFXBinaryStreamWriter::WriteSInt64 | SFXBinaryStreamWriter::WriteUInt08 | SFXBinaryStreamWriter::WriteUInt16 | SFXBinaryStreamWriter::WriteUInt32 | SFXBinaryStreamWriter::WriteUInt64 | SFXBinaryStreamWriter::WriteFloat32 | SFXBinaryStreamWriter::WriteFloat64 | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteSFXWideString