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

継承図

SFXWideStringStreamWriter クラスの継承図

協調図

SFXWideStringStreamWriter クラスの協調図

解説

SFXWideStringStreamWriter クラスは、 ストレージ文字列ストリームへデータを WChar 文字列で書き込むときに使います。

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

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

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

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

参照

SFXWideStringStreamReader | SFXAnsiStringStreamWriter | SFXBinaryStreamWriter | SFXElasticStreamWriter | SFXWideString | SFXAnsiString | 文字型 | 文字列ストリーム | ストレージ

メンバ

コンストラクタ/デストラクタ
SFXWideStringStreamWriter( Void )
SFXWideStringStreamWriter クラスのコンストラクタです。
パブリック関数
SFCError WriteAChar( ACharConstPtr string , SInt32 length = -1 )
指定された長さの AChar 型文字列を SFXWideString 文字列としてストリームに書き込みます。
SFCError WriteNull( Void )
'\0' をストリームに書き込みます。
SFCError WriteSFXAnsiString( SFXAnsiStringConstRef param )
指定された文字列をストリームに書き込みます。
SFCError WriteSFXWideString( SFXWideStringConstRef param )
指定された文字列をストリームに書き込みます。
SFCError WriteWChar( WCharConstPtr string , SInt32 length = -1 )
指定された文字列をストリームに書き込みます。
Void ends( SFXWideStringStreamWriterRef stream )
'\0' をストリームに書き込むマニピュレータです。
SFXWideStringStreamWriterRef operator<<( SFXWideStringStreamWriterRef left , SFXWideStringStreamWriter::ManipulatorSPP right )
ストリームへデータを WChar 型文字列で書き込みます。
SFXWideStringStreamWriterRef operator<<( SFXWideStringStreamWriterRef left , WCharConstPtr right )
ストリームへデータを WChar 型文字列で書き込みます。
SFXWideStringStreamWriterRef operator<<( SFXWideStringStreamWriterRef left , ACharConstPtr right )
ストリームへデータを WChar 型文字列で書き込みます。
SFXWideStringStreamWriterRef operator<<( SFXWideStringStreamWriterRef left , SFXWideStringConstRef right )
ストリームへデータを WChar 型文字列で書き込みます。
SFXWideStringStreamWriterRef operator<<( SFXWideStringStreamWriterRef left , SFXAnsiStringConstRef right )
ストリームへデータを WChar 型文字列で書き込みます。
Void Attach( SFXOutputStreamPtr stream ) (SFXStreamWriter から継承)
このストリームに指定されたストリームを結び付けます。
Void Cancel( Void ) (SFXStreamWriter から継承)
ストリームへの書き込みをキャンセルします。
SFXOutputStreamPtr Detach( Void ) (SFXStreamWriter から継承)
このストリームに結び付けられているストリームを切り離します。
SFCError Flush( Void ) (SFXStreamWriter から継承)
ストリームのデータをストレージに書き込みます。
SFCError Flush( CallbackSPP spp , VoidPtr reference ) (SFXStreamWriter から継承)
ストリームのデータをストレージに書き込みます。
UInt32 GetWritableSize( Void ) (SFXStreamWriter から継承)
ストリームに書き込み可能なデータサイズを取得します。[単位: バイト]
Void Release( Void ) (SFXStreamWriter から継承)
ストリームを解放します。
SFCError ResetTrigger( Void ) (SFXStreamWriter から継承)
トリガー(コールバック関数が呼ばれるタイミング)をリセットします。
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 から継承)
ストリームにデータを書き込みます。
ManipulatorSPP
SFXWideStringStreamWriter クラスのマニピュレータを表す型です。
CallbackSPP (SFXStream から継承)
コールバック関数を表す型です。

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

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

引数

string

AChar 型文字列です。

length

AChar 型文字列の長さです。-1 を指定した場合は '\0' までの長さ ('\0' は含まない) になります。

戻り値

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

解説

この関数は、指定された長さの AChar 文字列を SFXWideString 文字列に変換してストリームバッファに書き込みます。

length 引数に "-1" を指定した場合は、 string 引数に指定した '\0' までの文字列('\0' は含まない)を指定したことになります。

[Note] 注意

文字列末尾の '\0' は書き込まれません。

バイナリストリームSFXBinaryStreamWriter::WriteWChar 関数は、 文字列末尾の '\0' も書き込みます。

参照

SFXWideStringStreamReader::ReadSFXAnsiString | SFXWideStringStreamWriter::WriteSFXAnsiString | SFXWideStringStreamWriter::WriteWChar | SFXWideStringStreamWriter::WriteSFXWideString | SFXBinaryStreamWriter::WriteWChar | SFXWideString | SFXAnsiString | 文字型


SFXWideStringStreamWriter::WriteNull
'\0' をストリームに書き込みます。
[ public ]
SFCError WriteNull(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ストリームが設定されていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • 内部バッファがあふれて書き込めないとき: SFERR_FAILED

解説

この関数は、WChar 型 の '\0' (2 バイト) をストリームバッファに書き込みます。

エラー値を返すことを除けば、 SFXWideStringStreamWriter::ends マニピュレータと同等です。

参照

SFXWideStringStreamWriter::ends | SFXWideString | 文字型


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

戻り値

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

解説

この関数は、指定された SFXAnsiString 文字列を SFXWideString 文字列に変換してストリームバッファに書き込みます。

[Note] 注意

文字列の末尾に '\0' は付加されません。

バイナリストリームSFXBinaryStreamWriter::WriteSFXWideString 関数は、 文字列の末尾に '\0' は付加して書き込みます。

参照

SFXWideStringStreamReader::ReadSFXAnsiString | SFXWideStringStreamWriter::WriteAChar | SFXWideStringStreamWriter::WriteWChar | SFXWideStringStreamWriter::WriteSFXWideString | SFXBinaryStreamWriter::WriteSFXWideString | ストリームバッファ | SFXWideString | SFXAnsiString | 文字型


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

戻り値

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

解説

この関数は、指定された SFXWideString 文字列をストリームバッファに書き込みます。

[Note] 注意

文字列の末尾に '\0' は付加されません。

バイナリストリームSFXBinaryStreamWriter::WriteSFXWideString 関数は、 文字列の末尾に '\0' は付加して書き込みます。

参照

SFXWideStringStreamReader::ReadSFXWideString | SFXWideStringStreamWriter::WriteAChar | SFXWideStringStreamWriter::WriteSFXAnsiString | SFXWideStringStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXWideString | ストリームバッファ | SFXWideString | 文字型


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

引数

string

WChar 型文字列です。

length

WChar 型文字列の長さです。-1 を指定した場合は '\0' までの長さ ('\0' は含まない) になります。

戻り値

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

解説

この関数は、指定された長さの WChar 文字列をストリームバッファに書き込みます。

length 引数に "-1" を指定した場合は、 string 引数に指定した '\0' までの文字列('\0' は含まない)を指定したことになります。

[Note] 注意

文字列末尾の '\0' は書き込まれません。

バイナリストリームSFXBinaryStreamWriter::WriteWChar 関数は、 文字列末尾の '\0' も書き込みます。

参照

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


SFXWideStringStreamWriter::ends
'\0' をストリームに書き込むマニピュレータです。
[ public, friend ]
Void ends(
    SFXWideStringStreamWriterRef stream   // ストリーム
);

解説

この関数は、WChar 型 の '\0' (2 バイト) をストリームバッファに書き込むマニピュレータです

エラー値を返さないことを除けば、 SFXWideStringStreamWriter::WriteNull 関数と同等です。

参照

SFXWideStringStreamWriter::WriteNull | SFXWideString | 文字型


SFXWideStringStreamWriter::operator<<
ストリームへデータを WChar 型文字列で書き込みます。
[ public, friend ]
SFXWideStringStreamWriterRef operator<<(
    SFXWideStringStreamWriterRef left                 // ストリーム
    SFXWideStringStreamWriter::ManipulatorSPP right   // マニピュレータ
);
[ public, friend ]
SFXWideStringStreamWriterRef operator<<(
    SFXWideStringStreamWriterRef left   // ストリーム
    WCharConstPtr right                 // 書き込む文字列
);
[ public, friend ]
SFXWideStringStreamWriterRef operator<<(
    SFXWideStringStreamWriterRef left   // ストリーム
    ACharConstPtr right                 // 書き込む文字列
);
[ public, friend ]
SFXWideStringStreamWriterRef operator<<(
    SFXWideStringStreamWriterRef left   // ストリーム
    SFXWideStringConstRef right         // 書き込む文字列
);
[ public, friend ]
SFXWideStringStreamWriterRef operator<<(
    SFXWideStringStreamWriterRef left   // ストリーム
    SFXAnsiStringConstRef right         // 書き込む文字列
);

解説

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

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

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

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

[Note] 注意

文字列の末尾に WChar 型 の '\0' (2 バイト) は付加されません。

バイナリストリームSFXBinaryStreamWriter::operator< インサータ(<< 演算子)は、 文字列の末尾に WChar 型 の '\0' (2 バイト) を付加して書き込みます。

参照

SFXWideStringStreamReader::operator>> | SFXWideStringStreamWriter::WriteAChar | SFXWideStringStreamWriter::WriteSFXAnsiString | SFXWideStringStreamWriter::WriteWChar | SFXWideStringStreamWriter::WriteSFXWideString | SFXWideString | SFXAnsiString | 文字型


SFXWideStringStreamWriter::ManipulatorSPP
SFXWideStringStreamWriter クラスのマニピュレータを表す型です。
typedef Void(* SFXWideStringStreamWriter::ManipulatorSPP)(SFXWideStringStreamWriterRef stream)