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

継承図

SFXAnsiStringStreamWriter クラスの継承図

協調図

SFXAnsiStringStreamWriter クラスの協調図

解説

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

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

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

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

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

参照

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

メンバ

コンストラクタ/デストラクタ
SFXAnsiStringStreamWriter( Void )
SFXAnsiStringStreamWriter クラスのコンストラクタです。
パブリック関数
SFCError WriteAChar( ACharConstPtr string , SInt32 length = -1 )
指定した文字列をストリームに書き込みます。
SFCError WriteNull( Void )
'\0' をストリームに書き込みます。
SFCError WriteSFXAnsiString( SFXAnsiStringConstRef param )
指定した文字列をストリームに書き込みます。
SFCError WriteSFXWideString( SFXWideStringConstRef param )
指定した文字列をストリームに書き込みます。
SFCError WriteWChar( WCharConstPtr string , SInt32 length = -1 )
指定した文字列をストリームに書き込みます。
Void ends( SFXAnsiStringStreamWriterRef stream )
'\0' をストリームに書き込むマニピュレータです。
SFXAnsiStringStreamWriterRef operator<<( SFXAnsiStringStreamWriterRef left , SFXAnsiStringStreamWriter::ManipulatorSPP right )
ストリームへデータを AChar 型文字列で書き込みます。
SFXAnsiStringStreamWriterRef operator<<( SFXAnsiStringStreamWriterRef left , ACharConstPtr right )
ストリームへデータを AChar 型文字列で書き込みます。
SFXAnsiStringStreamWriterRef operator<<( SFXAnsiStringStreamWriterRef left , WCharConstPtr right )
ストリームへデータを AChar 型文字列で書き込みます。
SFXAnsiStringStreamWriterRef operator<<( SFXAnsiStringStreamWriterRef left , SFXAnsiStringConstRef right )
ストリームへデータを AChar 型文字列で書き込みます。
SFXAnsiStringStreamWriterRef operator<<( SFXAnsiStringStreamWriterRef left , SFXWideStringConstRef right )
ストリームへデータを AChar 型文字列で書き込みます。
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
SFXAnsiStringStreamWriter クラスのマニピュレータを表す型です。
CallbackSPP (SFXStream から継承)
コールバック関数を表す型です。

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

解説

特に何も行いません。


SFXAnsiStringStreamWriter::WriteAChar
指定した文字列をストリームに書き込みます。
[ 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 文字列をストリームバッファに書き込みます。

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

[Note] 注意

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

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

参照

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


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

戻り値

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

解説

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

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

参照

SFXAnsiStringStreamWriter::ends | SFXAnsiString | 文字型


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

戻り値

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

解説

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

[Note] 注意

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

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

参照

SFXAnsiStringStreamReader::ReadSFXAnsiString | SFXAnsiStringStreamWriter::WriteAChar | SFXAnsiStringStreamWriter::WriteWChar | SFXAnsiStringStreamWriter::WriteSFXWideString | SFXBinaryStreamWriter::WriteSFXAnsiString | ストリームバッファ | SFXAnsiString | 文字型


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

戻り値

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

解説

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

[Note] 注意

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

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

参照

SFXAnsiStringStreamReader::ReadSFXWideString | SFXAnsiStringStreamWriter::WriteAChar | SFXAnsiStringStreamWriter::WriteSFXAnsiString | SFXAnsiStringStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | ストリームバッファ | SFXAnsiString | SFXWideString | 文字型


SFXAnsiStringStreamWriter::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 型文字列を SFXAnsiString 文字列に変換してストリームバッファに書き込みます。

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

[Note] 注意

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

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

参照

SFXAnsiStringStreamReader::ReadSFXWideString | SFXAnsiStringStreamWriter::WriteSFXWideString | SFXAnsiStringStreamWriter::WriteAChar | SFXAnsiStringStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteAChar | SFXAnsiString | SFXWideString | 文字型


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

解説

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

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

参照

SFXAnsiStringStreamWriter::WriteNull | 文字型


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

解説

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

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

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

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

[Note] 注意

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

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

参照

SFXAnsiStringStreamReader::operator>> | SFXAnsiStringStreamWriter::WriteAChar | SFXAnsiStringStreamWriter::WriteSFXAnsiString | SFXAnsiStringStreamWriter::WriteWChar | SFXAnsiStringStreamWriter::WriteSFXWideString | SFXAnsiString | SFXWideString | 文字型


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