前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFXBuffer
バッファを表すクラスです。
#include <SFXBuffer.h.hpp>
class SFXBuffer;
SFMTYPEDEFCLASS(SFXBuffer)

協調図

SFXBuffer クラスの協調図

解説

SFXBuffer クラスとは

SFXClusterHeap クラスに、バッファの結合やデータの検索、置換などの処理を付加したクラスです。

割り当てられているメモリのサイズは、SFXBuffer::GetSize 関数で取得できます。

割り当てられたメモリは、デストラクタにより自動的に解放されますが、 SFXBuffer::Free 関数により明示的にメモリを解放することも可能です。

また、SFXBuffer::SetSize 関数により、 一度割り当てたバッファのサイズを変更できます。 このときデータは保存されます。

バッファクラスが内部で管理しているバッファを直接使う場合は、 SFXBuffer::GetBuffer 関数を使います。

Attach 関数 と Detach 関数

SFXBuffer::Attach 関数は、 指定された型のデータ領域を SFXBuffer オブジェクトに結び付けます。 SFXBuffer::Detach 関数はその逆の操作を行います。

SFXBuffer::Set 関数や代入演算子 ( = ) では、データはコピーされますが、 SFXBuffer::Attach 関数や SFXBuffer::Detach 関数では、データはコピーされません。

数百 KB ものデータをコピーするためのヒープが無いとき、或いは、パフォーマンス劣化の問題を回避するときに利用します。

参照

SFXClusterHeap | SFXAnsiString | SFXWideString | バッファ

メンバ

コンストラクタ/デストラクタ
SFXBuffer( Void )
SFXBuffer クラスのコンストラクタです。
SFXBuffer( SFXBufferConstRef buffer )
SFXBuffer クラスのコンストラクタです。
SFXBuffer( VoidConstPtr buffer , UInt32 size )
SFXBuffer クラスのコンストラクタです。
SFXBuffer( Byte byte )
SFXBuffer クラスのコンストラクタです。
SFXBuffer( SFXAnsiStringConstRef string )
SFXBuffer クラスのコンストラクタです。
SFXBuffer( SFXWideStringConstRef string )
SFXBuffer クラスのコンストラクタです。
SFXBuffer( UInt16 threshold , UInt16 cluster )
SFXBuffer クラスのコンストラクタです。
~SFXBuffer( Void )
SFXBuffer クラスのデストラクタです。
パブリック関数
SFCError Add( SFXBufferConstRef buffer )
このバッファの最後に指定されたデータを追加します。
SFCError Add( VoidConstPtr buffer , UInt32 size )
このバッファの最後に指定されたデータを追加します。
SFCError Add( Byte byte )
このバッファの最後に指定されたデータを追加します。
SFCError Allocate( UInt32 size )
このバッファに指定されたサイズのメモリを割り当てます。
SFCError Attach( SFXBufferPtr buffer )
指定された領域をこのバッファオブジェクトに結び付けます。
SFCError Attach( VoidPtr buffer , UInt32 size )
指定された領域をこのバッファオブジェクトに結び付けます。
SFCError Attach( SFXAnsiStringPtr string )
指定された領域をこのバッファオブジェクトに結び付けます。
SFCError Attach( SFXWideStringPtr string )
指定された領域をこのバッファオブジェクトに結び付けます。
SFCError AttachSFXAnsiString( SFXAnsiStringPtr string )
[廃止予定]指定された文字列オブジェクトの領域をこのバッファオブジェクトに結び付けます。
SFCError AttachSFXWideString( SFXWideStringPtr string )
[廃止予定]指定された文字列オブジェクトの領域をこのバッファオブジェクトに結び付けます。
SInt32 Compare( SFXBufferConstRef buffer )
このバッファを指定されたデータと比較します。
SInt32 Compare( VoidConstPtr buffer , UInt32 size )
このバッファを指定されたデータと比較します。
SFCError Copy( UInt32 index , SFXBufferConstRef buffer )
このバッファを指定された開始位置から指定されたデータで上書きします。
SFCError Copy( UInt32 index , VoidConstPtr buffer , UInt32 size )
このバッファを指定された開始位置から指定されたデータで上書きします。
SFCError Detach( SFXBufferPtr buffer )
このバッファオブジェクトが管理しているデータ領域を切り離します。
VoidPtr Detach( UInt32Ptr size = null )
このバッファオブジェクトが管理しているデータ領域を切り離します。
SFCError Detach( SFXAnsiStringPtr string )
このバッファオブジェクトが管理しているデータ領域を切り離します。
SFCError Detach( SFXWideStringPtr string )
このバッファオブジェクトが管理しているデータ領域を切り離します。
SFCError DetachSFXAnsiString( SFXAnsiStringPtr string )
[廃止予定]このバッファオブジェクトが管理している領域を切り離します。
SFCError DetachSFXWideString( SFXWideStringPtr string )
[廃止予定]このバッファオブジェクトが管理している領域を切り離します。
static
SFXBufferConstRef
EmptyInstance( Void )
空のバッファを取得します。
Bool EndsWith( SFXBufferConstRef buffer )
このバッファの末尾が指定されたデータで終わるか判定します。
Bool EndsWith( VoidConstPtr buffer , UInt32 size )
このバッファの末尾が指定されたデータで終わるか判定します。
Bool EndsWith( Byte byte )
このバッファの末尾が指定されたデータで終わるか判定します。
Bool Equals( SFXBufferConstRef buffer )
このバッファが指定されたデータと等しいか判定します。
Bool Equals( VoidConstPtr buffer , UInt32 size )
このバッファが指定されたデータと等しいか判定します。
Void Fill( Byte data )
このバッファを指定されたデータで埋めます。
SInt32 FirstIndexOf( SFXBufferConstRef buffer , SInt32 index = SINT32_MINIMUM )
このバッファを先頭から末尾に向かって検索し、最初に見つかった位置のインデックスを取得します。
SInt32 FirstIndexOf( VoidConstPtr buffer , UInt32 size , SInt32 index = SINT32_MINIMUM )
このバッファを先頭から末尾に向かって検索し、最初に見つかった位置のインデックスを取得します。
SInt32 FirstIndexOf( Byte byte , SInt32 index = SINT32_MINIMUM )
このバッファを先頭から末尾に向かって検索し、最初に見つかった位置のインデックスを取得します。
Void Free( Void )
このバッファに割り当てられたのメモリを解放します。
VoidPtr GetBuffer( Void )
このバッファの内部バッファメモリのポインタを取得します。
VoidConstPtr GetBuffer( Void )
このバッファの内部バッファメモリのポインタを取得します。
Byte GetByte( UInt32 index )
このバッファの指定されたインデックスの位置にあるバイト値を取得します。
UInt16 GetCluster( Void )
このバッファの内部バッファメモリのクラスタサイズを取得します。[単位: バイト]
UInt32 GetSize( Void )
このバッファのサイズを取得します。
UInt16 GetThreshold( Void )
このバッファの内部バッファメモリの最小値を取得します。[単位: バイト]
SFCError Insert( UInt32 index , SFXBufferConstRef buffer )
指定された位置にデータを挿入します。
SFCError Insert( UInt32 index , VoidConstPtr buffer , UInt32 size )
指定された位置にデータを挿入します。
SFCError Insert( Byte byte )
指定された位置にデータを挿入します。
Bool IsEmpty( Void )
バッファが空であるか判定します。
SInt32 LastIndexOf( SFXBufferConstRef buffer , SInt32 index = SINT32_MAXIMUM )
このバッファを末尾から検索して、指定されたデータと一致する最後のインデックスを取得します。
SInt32 LastIndexOf( VoidConstPtr buffer , UInt32 size , SInt32 index = SINT32_MAXIMUM )
このバッファを末尾から検索して、指定されたデータと一致する最後のインデックスを取得します。
SInt32 LastIndexOf( Byte byte , SInt32 index = SINT32_MAXIMUM )
このバッファを末尾から検索して、指定されたデータと一致する最後のインデックスを取得します。
SFCError Mul( SInt32 repeat )
このバッファのデータを指定された回数だけ繰り返して拡張します。
Void Remove( UInt32 begin , UInt32 end )
このバッファから指定された範囲のデータを削除します。
SFCError Set( SFXBufferConstRef buffer )
このバッファを引数で指定されたデータに設定します。
SFCError Set( VoidConstPtr buffer , UInt32 size )
このバッファを引数で指定されたデータに設定します。
SFCError Set( Byte byte )
このバッファを引数で指定されたデータに設定します。
SFCError Set( SFXAnsiStringConstRef string )
このバッファを引数で指定されたデータに設定します。
SFCError Set( SFXWideStringConstRef string )
このバッファを引数で指定されたデータに設定します。
SFCError SetByte( UInt32 index , Byte data )
このバッファの指定された位置に指定されたバイト値を設定します。
Void SetCluster( UInt16 size )
このバッファの内部バッファメモリのクラスタサイズを設定します。[単位: バイト]
SFCError SetSize( UInt32 size )
このバッファのサイズを設定します。
Void SetThreshold( UInt16 size )
このバッファの内部バッファメモリの最小値を設定します。[単位: バイト]
Void Slice( UInt32 begin , UInt32 end )
このバッファの指定された範囲のデータだけを残し、他を削除します。
Bool StartsWith( SFXBufferConstRef buffer )
このバッファの先頭が指定されたデータで始まるか判定します。
Bool StartsWith( VoidConstPtr buffer , UInt32 size )
このバッファの先頭が指定されたデータで始まるか判定します。
Bool StartsWith( Byte byte )
このバッファの先頭が指定されたデータで始まるか判定します。
SFXBufferRef operator*=( SInt32 repeat )
左側のバッファを右側の回数だけ繰り返したバッファにします。
SFXBufferRef operator+=( SFXBufferConstRef buffer )
左側のバッファの末尾に右側のバッファを追加します。
SFXBufferRef operator+=( Byte byte )
左側のバッファの末尾に右側のバッファを追加します。
SFXBufferRef operator<<( SFXBufferRef left , SFXBufferConstRef right )
左側のバッファの末尾に右側のバッファを追加します。
SFXBufferRef operator=( SFXBufferConstRef buffer )
左側のバッファに右側のバッファを代入します。
ByteRef operator[]( UInt32 index )
このバッファ内の指定されたインデックス位置にあるバイト値を取得します。
ByteConstRef operator[]( UInt32 index )
このバッファ内の指定されたインデックス位置にあるバイト値を取得します。
Bool operator==( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファと等しいか判定します。
Bool operator>=( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファ以上であるか判定します。
Bool operator>( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファよりも大きいか判定します。
Bool operator<=( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファ以下であるか判定します。
Bool operator<( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファよりも小さいか判定します。
SFXBuffer operator*( SFXBufferConstRef left , SInt32 right )
左側のバッファを右側の回数だけ繰り返したバッファを返します。
Bool operator!=( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファと異なるか判定します。
SFXBuffer operator+( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファの末尾に右側のバッファを追加したバッファを返します。
SFXBuffer operator+( SFXBufferConstRef left , Byte right )
左側のバッファの末尾に右側のバッファを追加したバッファを返します。
DefaultEnum
内部バッファメモリの最小値とクラスタサイズのデフォルト値を表します。[単位: バイト]
グローバル関数
Bool operator==( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファと等しいか判定します。
Bool operator>=( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファ以上であるか判定します。
Bool operator>( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファよりも大きいか判定します。
Bool operator<=( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファ以下であるか判定します。
Bool operator<( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファよりも小さいか判定します。
SFXBuffer operator*( SFXBufferConstRef left , SInt32 right )
左側のバッファを右側の回数だけ繰り返したバッファを返します。
Bool operator!=( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファが右側のバッファと異なるか判定します。
SFXBuffer operator+( SFXBufferConstRef left , SFXBufferConstRef right )
左側のバッファの末尾に右側のバッファを追加したバッファを返します。
SFXBuffer operator+( SFXBufferConstRef left , Byte right )
左側のバッファの末尾に右側のバッファを追加したバッファを返します。

SFXBuffer::SFXBuffer
SFXBuffer クラスのコンストラクタです。
[ public, explicit ]
SFXBuffer(Void);
[ public ]
SFXBuffer(
    SFXBufferConstRef buffer   // コピーするバッファ
);
[ public, explicit ]
SFXBuffer(
    VoidConstPtr buffer   // バッファとして使うメモリブロック
    UInt32 size           // メモリブロックのサイズ
);
[ public, explicit ]
SFXBuffer(
    Byte byte   // バッファとして使う1バイトの値
);
[ public, explicit ]
SFXBuffer(
    SFXAnsiStringConstRef string   // バッファとして使う文字列
);
[ public, explicit ]
SFXBuffer(
    SFXWideStringConstRef string   // バッファとして使う文字列
);
[ public, explicit ]
SFXBuffer(
    UInt16 threshold   // 内部バッファメモリの最小サイズ
    UInt16 cluster     // 内部バッファメモリのクラスタサイズ
);

解説

このコンストラクタは、引数で指定されたデータをコピーしてバッファを設定します。 この操作により、元のバッファは破棄されます。 データをコピーせずに取り込む場合は SFXBuffer::Attach 関数を使用します。

[Note] 内部バッファメモリの確保

バッファは、 SFXBuffer クラスが内部で管理する SFXClusterHeap クラスのヒープ(内部バッファメモリ)からメモリを割り当てられます。

引数を指定しない場合、または引数が threshold と cluster である場合、 このコンストラクタを実行したタイミングでは内部バッファメモリは確保されません。

SFXBuffer::AllocateSFXBuffer::SetSizeSFXBuffer::Set などの関数を呼び出したタイミングで内部バッファメモリは自動的に確保されます。

[Note] バッファのサイズ

引数にバッファや文字列、メモリブロックを指定した場合、 SFXBuffer::GetSize 関数で取得できる、 バッファのサイズは引数に指定したデータのサイズと等しくなります。

文字列を引数に指定した場合は、 SFXAnsiString 文字列が指定された場合は『文字列の長さ + 1(1 バイトの '\0' の分)』、 SFXWideString 文字列が指定された場合は『文字列の長さ * 2 + 2(2 バイトの '\0' の分)』となります。

※データのコピーに必要な内部バッファメモリは自動的に割り当てられます。 バッファのメモリは、内部バッファメモリから設定したデータのサイズ分だけ割り当てられます。

参照

SFXBuffer::Allocate | SFXBuffer::SetSize | SFXBuffer::Attach | SFXBuffer::Set | SFXBuffer::GetSize


SFXBuffer::~SFXBuffer
SFXBuffer クラスのデストラクタです。
[ public ]
~SFXBuffer(Void);

解説

このデストラクタは、 SFXBuffer::Free 関数を呼び出して、バッファメモリを解放します。

参照

SFXBuffer::Free


SFXBuffer::Add
このバッファの最後に指定されたデータを追加します。
[ public ]
SFCError Add(
    SFXBufferConstRef buffer   // 追加するバッファ
);
[ public ]
SFCError Add(
    VoidConstPtr buffer   // 追加するメモリブロック
    UInt32 size           // メモリブロックのサイズ
);
[ public ]
SFCError Add(
    Byte byte   // バッファに追加する 1 バイトの値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、このバッファの最後に指定されたデータを追加します。

[Note] 注意

追加するデータのサイズ分だけ、 SFXBuffer::GetSize 関数で取得できる、 このバッファのサイズは大きくなります。

また、必要に応じて内部バッファメモリは自動的に拡張されます。

[Note] 注意

この操作により、 このバッファの内容は変化します。 元の内容を保持したい場合は、別の場所にコピーする、 或いは、operator+ 演算子を使用します。

参照

SFXBuffer::Mul | SFXBuffer::GetSize | SFXBuffer::operator<< | operator+ | SFXBuffer::operator+=


SFXBuffer::Allocate
このバッファに指定されたサイズのメモリを割り当てます。
[ public ]
SFCError Allocate(
    UInt32 size   // 割り当てるメモリサイズ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、このバッファに指定されたサイズのメモリを割り当てます。

この関数は、 最初に SFXBuffer::Free 関数を呼び出してこのバッファに割り当てられていた内部バッファメモリを解放します。

[Note] 注意

バッファのメモリは、 SFXBuffer::SFXBuffer コンストラクタや SFXBuffer::Set / SFXBuffer::SetSize 関数の呼び出しで割り当てることもできます。

[Caution] 注意事項
  • バッファにメモリを割り当てを行わずに他の関数を呼び出した場合の挙動は未定義です。
  • この関数を実行する前にこのバッファが保持していた内容は破棄されます。

参照

SFXBuffer::Free | SFXBuffer::SetSize | SFXBuffer::Set | SFXBuffer::SFXBuffer


SFXBuffer::Attach
指定された領域をこのバッファオブジェクトに結び付けます。
[ public ]
SFCError Attach(
    SFXBufferPtr buffer   // 別の SFXBuffer オブジェクト
);
[ public ]
SFCError Attach(
    VoidPtr buffer   // 使用するメモリブロック
    UInt32 size      // メモリブロックのサイズ
);
[ public ]
SFCError Attach(
    SFXAnsiStringPtr string   // SFXAnsiString オブジェクト
);
[ public ]
SFCError Attach(
    SFXWideStringPtr string   // SFXWideString オブジェクト
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • buffer または string 引数が null であるとき: SFERR_INVALID_PARAM

解説

この関数は、指定されたデータをこのバッファオブジェクトに結び付けます。 この関数を実行した後、指定されたデータは SFXBuffer オブジェクトとして操作できます。

buffer パラメータで指定されたデータはコピーされないので、 SFXBuffer::Set 関数よりも効率的で、 大容量のデータ処理時のパフォーマンス劣化やメモリ不足の問題を回避できます。

[Note] 注意
引数に指定されたデータに割り当てられていたメモリは、 このバッファオブジェクトが解放されるときに自動的に解放されます。

使用例

AChar 型の文字列領域を SFXBuffer オブジェクトに結び付けます。

SFXBuffer buffer;
VoidPtr void_ptr;

// void_ptr に 10240 バイトのデータ領域を割り当てる
void_ptr = static_cast<VoidPtr>(MemoryAllocate(10240)); 
...

// void_ptr に割り当てたデータ領域を bufferオブジェクトに結びつける
buffer.Attach(void_ptr, 10240);

// 以降、void_ptr に割り当てた文字列領域は buffer オブジェクトとして操作できる

・・・

// 使用後、void_ptr に割り当てた文字列領域は自動的に解放される 

参照

SFXBuffer::Detach


SFXBuffer::AttachSFXAnsiString
[廃止予定]指定された文字列オブジェクトの領域をこのバッファオブジェクトに結び付けます。
[ public ]
SFCError AttachSFXAnsiString(
    SFXAnsiStringPtr string   // SFXAnsiString オブジェクト
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null であるとき: SFERR_INVALID_PARAM

解説

[Note] 廃止予定

この関数は、SophiaFramework UNIVERSE 6.0 で廃止される予定です。 この関数の代わりに SFXBuffer::Attach(SFXAnsiStringPtr string) 関数を利用することを推奨します。

参照

SFXBuffer::Attach


SFXBuffer::AttachSFXWideString
[廃止予定]指定された文字列オブジェクトの領域をこのバッファオブジェクトに結び付けます。
[ public ]
SFCError AttachSFXWideString(
    SFXWideStringPtr string   // SFXWideString オブジェクト
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null であるとき: SFERR_INVALID_PARAM

解説

[Note] 廃止予定

この関数は、SophiaFramework UNIVERSE 6.0 で廃止される予定です。 この関数の代わりに SFXBuffer::Attach(SFXWideStringPtr string) 関数を利用することを推奨します。

参照

SFXBuffer::Attach


SFXBuffer::Compare
このバッファを指定されたデータと比較します。
[ public, const ]
SInt32 Compare(
    SFXBufferConstRef buffer   // 比較するバッファ
);
[ public, const ]
SInt32 Compare(
    VoidConstPtr buffer   // 比較するメモリブロック
    UInt32 size           // メモリブロックのサイズ
);

戻り値

  • 小さいとき: 負の値
  • 等しいとき: 0
  • 大きいとき: 正の値

解説

この関数は、このバッファを指定されたデータと比較します。

参照

SFXBuffer::Equals | operator== | operator!= | operator> | operator>= | operator< | operator<=


SFXBuffer::Copy
このバッファを指定された開始位置から指定されたデータで上書きします。
[ public ]
SFCError Copy(
    UInt32 index               // 上書き開始位置
    SFXBufferConstRef buffer   // コピーするバッファ
);
[ public ]
SFCError Copy(
    UInt32 index          // 上書き開始位置
    VoidConstPtr buffer   // コピーするメモリブロック
    UInt32 size           // メモリブロックのサイズ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 上書きするデータがバッファの終端を越えるとき: SFERR_INVALID_PARAM

解説

この関数は、このバッファを指定された開始位置から指定されたデータで上書きします。

[Caution] 注意
上書きするデータがこのバッファの終端を越える場合は SFERR_INVALID_PARAM を返し、コピーは行われません。

SFXBuffer::Detach
このバッファオブジェクトが管理しているデータ領域を切り離します。
[ public ]
SFCError Detach(
    SFXBufferPtr buffer   // 別の SFXBuffer オブジェクト
);
[ public ]
VoidPtr Detach(
    UInt32Ptr size = null   // データのサイズ
);
[ public ]
SFCError Detach(
    SFXAnsiStringPtr string   // SFXAnsiString オブジェクト
);
[ public ]
SFCError Detach(
    SFXWideStringPtr string   // SFXWideString オブジェクト
);

戻り値

切り離されるデータが Void 型である場合、このバッファオブジェクトが管理しているデータ領域(VoidPtr 型)を返します。 それ以外の場合は SFCError 型データ値を返します。

解説

この関数は、 このバッファオブジェクトが管理しているデータ領域を切り離して返します。

[Note] 注意
データ領域はコピーされません。

使用例

SFXBuffer buffer;
VoidPtr void_ptr;
UInt32 length;

...

// buffer オブジェクトが管理するデータ領域を切り離し、その領域のポインタを void_ptr に設定する
// 領域のサイズは length に格納される
Void_ptr = buffer.Detach(&length);

// 以降、buffer オブジェクトのデータ領域は void_ptr に割り当てられた領域として操作する

...

// 使用後、void_ptr に割り当てたデータ領域を解放する必要がある
MemoryFree(void_ptr);

参照

SFXBuffer::Attach


SFXBuffer::DetachSFXAnsiString
[廃止予定]このバッファオブジェクトが管理している領域を切り離します。
[ public ]
SFCError DetachSFXAnsiString(
    SFXAnsiStringPtr string   // SFXAnsiString オブジェクト
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null であるとき: SFERR_INVALID_PARAM

解説

[Note] 廃止予定

この関数は、SophiaFramework UNIVERSE 6.0 で廃止される予定です。 この関数の代わりに SFXBuffer::Detach(SFXAnsiStringPtr string) 関数を利用することを推奨します。

参照

SFXBuffer::Detach


SFXBuffer::DetachSFXWideString
[廃止予定]このバッファオブジェクトが管理している領域を切り離します。
[ public ]
SFCError DetachSFXWideString(
    SFXWideStringPtr string   // SFXWideString オブジェクト
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null であるとき: SFERR_INVALID_PARAM

解説

[Note] 廃止予定

この関数は、SophiaFramework UNIVERSE 6.0 で廃止される予定です。 この関数の代わりに SFXBuffer::Detach(SFXWideStringPtr string) 関数を利用することを推奨します。

参照

SFXBuffer::Detach


SFXBuffer::EmptyInstance
空のバッファを取得します。
[ public, static ]
SFXBufferConstRef EmptyInstance(Void);

解説

この関数は、空のバッファを表すインスタンスを取得します。


SFXBuffer::EndsWith
このバッファの末尾が指定されたデータで終わるか判定します。
[ public, const ]
Bool EndsWith(
    SFXBufferConstRef buffer   // 調べるバッファ
);
[ public, const ]
Bool EndsWith(
    VoidConstPtr buffer   // 調べるバッファ
    UInt32 size           // 調べるバッファのサイズ
);
[ public, const ]
Bool EndsWith(
    Byte byte   // 調べる 1 バイト
);

戻り値

  • 終わるとき: true
  • 終わらないとき: false

解説

この関数は、 このバッファの末尾が指定されたデータで終わるか判定します。

参照

SFXBuffer::StartsWith


SFXBuffer::Equals
このバッファが指定されたデータと等しいか判定します。
[ public, const ]
Bool Equals(
    SFXBufferConstRef buffer   // 比較するバッファ
);
[ public, const ]
Bool Equals(
    VoidConstPtr buffer   // 比較するメモリブロック
    UInt32 size           // メモリブロックのサイズ
);

戻り値

  • 等しいとき: true
  • そうでないとき: false

解説

この関数は、このバッファが指定されたデータと等しいか判定します。

参照

SFXBuffer::Compare | operator== | operator!=


SFXBuffer::Fill
このバッファを指定されたデータで埋めます。
[ public ]
Void Fill(
    Byte data   // データ
);

解説

この関数は、このバッファを指定されたデータで埋めます。


SFXBuffer::FirstIndexOf
このバッファを先頭から末尾に向かって検索し、最初に見つかった位置のインデックスを取得します。
[ public, const ]
SInt32 FirstIndexOf(
    SFXBufferConstRef buffer        // 検索するバッファ
    SInt32 index = SINT32_MINIMUM   // 検索開始位置
);
[ public, const ]
SInt32 FirstIndexOf(
    VoidConstPtr buffer             // 検索するバッファ
    UInt32 size                     // 検索するバッファのサイズ
    SInt32 index = SINT32_MINIMUM   // 検索開始位置
);
[ public, const ]
SInt32 FirstIndexOf(
    Byte byte                       // 検索する Byte データ
    SInt32 index = SINT32_MINIMUM   // 検索開始位置
);

戻り値

  • 成功したとき: 見つかった位置のインデックス
  • 失敗したとき: -1

解説

この関数は、このバッファを先頭から末尾に向かって検索し、 最初に見つかった位置のインデックスを取得します。

検索開始位置を指定することで、先頭以外の位置から検索できます(先頭のインデックスは 0 です)。

参照

SFXBuffer::LastIndexOf


SFXBuffer::Free
このバッファに割り当てられたのメモリを解放します。
[ public ]
Void Free(Void);

解説

この関数は、 SFXBuffer::Allocate / SFXBuffer::SetSize / SFXBuffer::Set 関数、または SFXBuffer::SFXBuffer コンストラクタでこのバッファに割り当てられたのメモリを解放します。

[Tip] Tip
この関数は、SFXBuffer::~SFXBuffer デストラクタから呼び出されます。
[Note] 注意
バッファメモリが割り当てられていない場合は何も行いません。

参照

SFXBuffer::Allocate | SFXBuffer::SetSize | SFXBuffer::Set | SFXBuffer::SFXBuffer | SFXBuffer::~SFXBuffer


SFXBuffer::GetBuffer
このバッファの内部バッファメモリのポインタを取得します。
[ public ]
VoidPtr GetBuffer(Void);
[ public, const ]
VoidConstPtr GetBuffer(Void);

解説

この関数は、このバッファの内部バッファメモリのポインタを取得します。

[Note] 注意
SFXBuffer クラスの内部バッファメモリは、 この関数で取得できるポインタ経由で直接アクセスできます。

使用例

SFXBuffer buffer;

buffer.Set(SFXAnsiString("test"));   // バッファに文字列を設定する
TRACE("%s", buffer.GetBuffer());     // "test" がデバッグウィンドウに表示されるt

参照

SFXBuffer::Set


SFXBuffer::GetByte
このバッファの指定されたインデックスの位置にあるバイト値を取得します。
[ public, const ]
Byte GetByte(
    UInt32 index   // 取得する位置
);

戻り値

このバッファの指定されたインデックスの位置にあるバイト値

解説

この関数は、このバッファの指定されたインデックスの位置にあるバイト値を取得します。

[Caution] 注意

指定されたインデックスの位置がこのバッファの範囲外の値である場合、null('\0') が返ります。

参照

SFXBuffer::GetBuffer | SFXBuffer::GetSize | SFXBuffer::SetByte | SFXBuffer::SetSize | SFXBuffer::operator[]


SFXBuffer::GetCluster
このバッファの内部バッファメモリのクラスタサイズを取得します。[単位: バイト]
[ public, const ]
UInt16 GetCluster(Void);

戻り値

このバッファの内部バッファメモリ(SFXClusterHeap)を確保する時の最小単位[単位: バイト]

解説

この関数は、 このバッファの内部バッファメモリ(SFXClusterHeap)を確保する時の最小単位を取得します。[単位: バイト]

[Note] 注意
この関数は SFXBuffer クラスが内部で管理する SFXClusterHeap クラスの SFXClusterHeap::GetCluster を呼び出します。

参照

SFXBuffer::SetCluster | SFXClusterHeap::GetCluster | SFXClusterHeap


SFXBuffer::GetSize
このバッファのサイズを取得します。
[ public, const ]
UInt32 GetSize(Void);

戻り値

バッファサイズ

解説

この関数は、このバッファのサイズを取得します。

バッファのサイズは、SFXBuffer::SetSize 関数を呼び出して設定します。 SFXBuffer::Add / SFXBuffer::Insert / SFXBuffer::Remove / SFXBuffer::Set / SFXBuffer::Mul 関数を呼び出してデータを追加、削除、変更すると、 そのサイズ分だけバッファのサイズは変化します。 また、 SFXBuffer::SFXBuffer コンストラクタで引数に文字列やバッファを初期データとして指定する場合、 そのデータのサイズでこのバッファのサイズは初期設定されます。

[Caution] 注意

バッファのサイズは、バッファに割り当てられている内部バッファメモリのサイズではありません。 実際にデータが割り当てられている領域のサイズです。 この領域は、バッファの内部バッファメモリ内から部分的に割り当てられます。

使用例

SFXBuffer buffer;

buffer.Set(SFXAnsiString("test"));   // バッファに文字列"test"を設定する
TRACE("%d", buffer.GetSize());       // "\0" を含む文字列"test"の長さである"5"がデバッグウィンドウに表示される

参照

SFXBuffer::SetSize | SFXBuffer::Set | SFXBuffer::Add | SFXBuffer::Insert | SFXBuffer::Remove | SFXBuffer::Mul | SFXBuffer::SFXBuffer


SFXBuffer::GetThreshold
このバッファの内部バッファメモリの最小値を取得します。[単位: バイト]
[ public, const ]
UInt16 GetThreshold(Void);

戻り値

このバッファの内部バッファメモリ(SFXClusterHeap)の最小値[単位: バイト]

解説

この関数は、 このバッファの内部バッファメモリ(SFXClusterHeap)の最小値を取得します。[単位: バイト]

[Note] 注意
この関数は SFXBuffer クラスが内部で管理する SFXClusterHeap クラスの SFXClusterHeap::GetThreshold を呼び出します。

参照

SFXBuffer::SetThreshold | SFXClusterHeap::GetThreshold | SFXClusterHeap


SFXBuffer::Insert
指定された位置にデータを挿入します。
[ public ]
SFCError Insert(
    UInt32 index               // 挿入する位置
    SFXBufferConstRef buffer   // 挿入するバッファ
);
[ public ]
SFCError Insert(
    UInt32 index          // 挿入する位置
    VoidConstPtr buffer   // 挿入するデータ
    UInt32 size           // データのサイズ
);
[ public ]
SFCError Insert(
    Byte byte   // バッファに挿入する 1 バイトの値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY

解説

この関数は、 このバッファの指定された位置に指定されたデータを挿入します。

[Note] 注意

挿入したデータのサイズ分だけ、 SFXBuffer::GetSize 関数で取得できる、 このバッファのサイズは大きくなります。

また、必要に応じて内部バッファメモリは自動的に拡張されます。

参照

SFXBuffer::Remove | SFXBuffer::Add | SFXBuffer::GetSize


SFXBuffer::IsEmpty
バッファが空であるか判定します。
[ public, const ]
Bool IsEmpty(Void);

戻り値

  • 空のとき: true
  • 空でないとき: false

解説

この関数は、このバッファが空であるか判定します。


SFXBuffer::LastIndexOf
このバッファを末尾から検索して、指定されたデータと一致する最後のインデックスを取得します。
[ public, const ]
SInt32 LastIndexOf(
    SFXBufferConstRef buffer        // 検索するバッファ
    SInt32 index = SINT32_MAXIMUM   // 検索開始位置
);
[ public, const ]
SInt32 LastIndexOf(
    VoidConstPtr buffer             // 検索するバッファ
    UInt32 size                     // 検索するバッファのサイズ
    SInt32 index = SINT32_MAXIMUM   // 検索開始位置
);
[ public, const ]
SInt32 LastIndexOf(
    Byte byte                       // 検索する Byte データ
    SInt32 index = SINT32_MAXIMUM   // 検索開始位置
);

戻り値

  • 成功したとき: 見つかった位置のインデックス
  • 失敗したとき: -1

解説

この関数は、このバッファを末尾から先頭に向かって検索し、 最初に見つかった位置のインデックスを取得します。

検索開始位置を指定することで、末尾以外の位置から検索できます(先頭のインデックスは 0 です)。

参照

SFXBuffer::FirstIndexOf


SFXBuffer::Mul
このバッファのデータを指定された回数だけ繰り返して拡張します。
[ public ]
SFCError Mul(
    SInt32 repeat   // 繰り返す回数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、このバッファのデータを指定された回数だけ繰り返して拡張します。

[Note] 注意

繰り返した回数分だけ、 SFXBuffer::GetSize 関数で取得できる、 このバッファのサイズは大きくなります。

また、必要に応じて内部バッファメモリは自動的に拡張されます。

[Note] 注意

この操作により、 このバッファの内容は変化します。 元の内容を保持したい場合は、別の場所にコピーする、 或いは、operator* 演算子を使用します。

参照

SFXBuffer::Add | SFXBuffer::GetSize | operator* | SFXBuffer::operator*=


SFXBuffer::Remove
このバッファから指定された範囲のデータを削除します。
[ public ]
Void Remove(
    UInt32 begin   // 開始位置
    UInt32 end     // 終了位置
);

解説

この関数は、このバッファから指定された範囲のデータを削除します。

[Note] 注意

削除したデータのサイズ分だけ、 SFXBuffer::GetSize 関数で取得できる、 このバッファのサイズは小さくなります。

また、必要に応じて内部バッファメモリは自動的に縮小されます。

参照

SFXBuffer::Insert | SFXBuffer::Add | SFXBuffer::GetSize


SFXBuffer::Set
このバッファを引数で指定されたデータに設定します。
[ public ]
SFCError Set(
    SFXBufferConstRef buffer   // コピーするバッファ
);
[ public ]
SFCError Set(
    VoidConstPtr buffer   // コピーするメモリブロック
    UInt32 size           // メモリブロックのサイズ
);
[ public ]
SFCError Set(
    Byte byte   // バッファとして使用する 1 バイトの値
);
[ public ]
SFCError Set(
    SFXAnsiStringConstRef string   // バッファとして使用する文字列
);
[ public ]
SFCError Set(
    SFXWideStringConstRef string   // バッファとして使用する文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、このバッファを引数で指定されたデータに設定します。

データはコピーして設定され、元のバッファは破棄されます。 データをコピーせずに取り込むには SFXBuffer::Attach 関数を使用します。

[Note] 注意

SFXBuffer::GetSize 関数で取得できる、 バッファのサイズは引数に指定したデータのサイズと等しくなります。

文字列を引数に指定した場合は、 SFXAnsiString 文字列が指定された場合は『文字列の長さ + 1(1 バイトの '\0' の分)』、 SFXWideString 文字列が指定された場合は『文字列の長さ * 2 + 2(2 バイトの '\0' の分)』となります。

※データのコピーに必要な内部バッファメモリは自動的に割り当てられます。 バッファのメモリは、内部バッファメモリから設定したデータのサイズ分だけ割り当てられます。

参照

SFXBuffer::Attach | SFXBuffer::Allocate | SFXBuffer::SFXBuffer | SFXBuffer::GetSize


SFXBuffer::SetByte
このバッファの指定された位置に指定されたバイト値を設定します。
[ public ]
SFCError SetByte(
    UInt32 index   // 設定する位置
    Byte data      // データ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 指定された位置がバッファの領域外であるとき: SFERR_INVALID_PARAM

解説

この関数は、このバッファの指定された位置に指定されたバイト値を設定します。

[Note] 注意

この関数を実行しても、 SFXBuffer::GetSize 関数で取得できる、 このバッファのサイズは変化しません。

参照

SFXBuffer::GetByte | SFXBuffer::GetBuffer | SFXBuffer::GetSize | SFXBuffer::operator[]


SFXBuffer::SetCluster
このバッファの内部バッファメモリのクラスタサイズを設定します。[単位: バイト]
[ public ]
Void SetCluster(
    UInt16 size   // 設定するクラスタサイズ
);

解説

この関数は、 このバッファの内部バッファメモリ(SFXClusterHeap)を確保する時の最小単位を設定します。[単位: バイト]

デフォルト値: SFXBuffer::DEFAULT_CLUSTER バイト

SFXBuffer::DEFAULT_CLUSTER の値は SFXBuffer::DefaultEnum を参照してください。

[Note] 注意
この関数は SFXBuffer クラスが内部で管理する SFXClusterHeap クラスの SFXClusterHeap::SetCluster を呼び出します。

参照

SFXBuffer::GetCluster | SFXBuffer::DefaultEnum | SFXClusterHeap::SetCluster | SFXClusterHeap


SFXBuffer::SetSize
このバッファのサイズを設定します。
[ public ]
SFCError SetSize(
    UInt32 size   // 設定するサイズ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、このバッファに指定されたサイズのメモリを割り当てます。

具体的には、 SFXBuffer クラスが内部で管理する SFXClusterHeap クラスのヒープ(内部バッファメモリ)から引数で指定されたサイズだけをこのバッファのメモリとして確保します。

この関数を実行する時点でまだ SFXClusterHeap クラスのヒープ(内部バッファメモリ)にメモリが割り当てられていない場合は、 以下のようにしてヒープ(内部バッファメモリ)にメモリを割り当ててから、 このバッファにメモリを割り当てます。

このヒープサイズ(内部バッファメモリのサイズ)は、最小ヒープサイズとクラスタサイズによって決まります。 最小ヒープサイズは SFXBuffer::SFXBuffer コンストラクタの threshold 引数か SFXBuffer::SetThreshold 関数で、 クラスタサイズは SFXBuffer::SFXBuffer コンストラクタの cluster 引数か SFXBuffer::SetCluster 関数で設定します。

size の値が最小ヒープサイズよりも小さい場合、 ヒープ(内部バッファメモリ)に実際に割り当てられるサイズは最小ヒープサイズになります。

最小ヒープサイズよりも大きい場合は、 ヒープ(内部バッファメモリ)は最小ヒープサイズを超える部分についてクラスタサイズ単位で割り当てられます。

[Caution] 注意
  1. SFXBuffer クラスが内部で管理する SFXClusterHeap クラスのヒープサイズが変化する場合、 SFXBuffer::GetBuffer 関数の戻り値である内部バッファへのポインタも変化します。
  2. SFXBuffer::Allocate 関数では以前のデータは破棄されますが、 この関数ではサイズを小さくした場合に末尾のデータが失われるだけです。 サイズを大きくする場合は、以前のデータはそのまま保持されます。

使用例

SFXBuffer buffer;

buffer.SetSize(0x200); // バッファサイズを 0x200 バイトに設定する

参照

SFXBuffer::GetSize | SFXBuffer::SetCluster | SFXBuffer::SetThreshold | SFXBuffer::GetBuffer | SFXBuffer::Allocate | SFXClusterHeap::Resize


SFXBuffer::SetThreshold
このバッファの内部バッファメモリの最小値を設定します。[単位: バイト]
[ public ]
Void SetThreshold(
    UInt16 size   // 設定する最小値 [単位: バイト]
);

解説

この関数は、 このバッファの内部バッファメモリ(SFXClusterHeap)の最小値を設定します。[単位: バイト]

デフォルト値: SFXBuffer::DEFAULT_THRESHOLD バイト

SFXBuffer::DEFAULT_THRESHOLD の値は SFXBuffer::DefaultEnum を参照してください。

[Note] 注意
この関数は SFXBuffer クラスが内部で管理する SFXClusterHeap クラスの SFXClusterHeap::SetThreshold を呼び出します。

参照

SFXBuffer::GetThreshold | SFXBuffer::DefaultEnum | SFXClusterHeap::SetThreshold | SFXClusterHeap


SFXBuffer::Slice
このバッファの指定された範囲のデータだけを残し、他を削除します。
[ public ]
Void Slice(
    UInt32 begin   // 残す部分の先頭のインデックス
    UInt32 end     // 残す部分の終端のインデックス
);

解説

この関数は、 引数 begin と 引数 end で指定された範囲にあるこのバッファのデータだけを残し、 他を削除します。

引数 begin は、残すデータの先頭のインデックスを指定します。 引数 end は、残すデータの最後の次のインデックスを指定します。

[Note] 注意

この操作により、 このバッファの内容は変化します。 元の内容を保持したい場合は、別の場所にコピーする必要があります。

使用例

SFXAnsiString s("abracadabra");
SFXBuffer buf1(s);  // buf1 は null 文字もコピーする
buf1.Slice(2, 9);   // buf1 = "racadab"

SFXBuffer::StartsWith
このバッファの先頭が指定されたデータで始まるか判定します。
[ public, const ]
Bool StartsWith(
    SFXBufferConstRef buffer   // 調べるバッファ
);
[ public, const ]
Bool StartsWith(
    VoidConstPtr buffer   // 調べるバッファ
    UInt32 size           // 調べるバッファのサイズ
);
[ public, const ]
Bool StartsWith(
    Byte byte   // 調べる 1 バイトの値
);

戻り値

  • 始まるとき: true
  • 始まらないとき: false

解説

この関数は、このバッファの先頭が指定されたデータで始まるか判定します。

参照

SFXBuffer::EndsWith


SFXBuffer::operator=
左側のバッファに右側のバッファを代入します。
[ public ]
SFXBufferRef operator=(
    SFXBufferConstRef buffer   // 右側のバッファ
);

戻り値

代入後の左側のバッファ

解説

このオペレーターは、左側のバッファに右側のバッファを代入します。

[Note] 注意

このオペレーターは左側のバッファに影響を及ぼします。

参照

SFXBuffer::Set


operator==
左側のバッファが右側のバッファと等しいか判定します。
[ public, friend ]
Bool operator==(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

  • 等しいとき: true
  • そうでないとき: false

解説

このオペレーターは、左側のバッファが右側のバッファと等しいか判定します。

参照

SFXBuffer::Equals | operator!=


operator>=
左側のバッファが右側のバッファ以上であるか判定します。
[ public, friend ]
Bool operator>=(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

  • 左側のバッファが右側のバッファ以上であるとき: true
  • そうでないとき: false

解説

このオペレーターは、左側のバッファが右側のバッファ以上であるか判定します。

参照

SFXBuffer::Compare | operator> | operator< | operator<=


operator>
左側のバッファが右側のバッファよりも大きいか判定します。
[ public, friend ]
Bool operator>(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

  • 左側のバッファが右側のバッファよりも大きいとき: true
  • そうでないとき: false

解説

このオペレーターは、左側のバッファが右側のバッファよりも大きいか判定します。

参照

SFXBuffer::Compare | operator>= | operator< | operator<=


SFXBuffer::operator[]
このバッファ内の指定されたインデックス位置にあるバイト値を取得します。
[ public ]
ByteRef operator[](
    UInt32 index   // インデックス位置
);
[ public, const ]
ByteConstRef operator[](
    UInt32 index   // インデックス位置
);

戻り値

このバッファ内の指定されたインデックス位置にあるバイト値

解説

このオペレーターは、このバッファ内の指定されたインデックス位置にあるバイト値を取得します。

[Caution] 注意

このバッファが空である場合や、 指定されたインデックス位置がこのバッファの範囲外の値である場合は、null('\0') が返ります。

参照

SFXBuffer::GetByte


SFXBuffer::operator<<
左側のバッファの末尾に右側のバッファを追加します。
[ public, friend ]
SFXBufferRef operator<<(
    SFXBufferRef left         // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

追加後の左側のバッファ

解説

このオペレーターは、左側のバッファの末尾に右側のバッファを追加します。

[Tip] Tip

このオペレーターは左側のバッファに影響を及ぼします。

複数のバッファを結合するとき、このオペレーター(<<)は便利です。

参照

SFXBuffer::Add | SFXBuffer::operator+=


operator<=
左側のバッファが右側のバッファ以下であるか判定します。
[ public, friend ]
Bool operator<=(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

  • 左側のバッファが右側のバッファ以下であるとき: true
  • そうでないとき: false

解説

このオペレーターは、左側のバッファが右側のバッファ以下であるか判定します。

参照

SFXBuffer::Compare | operator> | operator>= | operator<


operator<
左側のバッファが右側のバッファよりも小さいか判定します。
[ public, friend ]
Bool operator<(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

  • 左側のバッファが右側のバッファよりも小さいとき: true
  • そうでないとき: false

解説

このオペレーターは、左側のバッファが右側のバッファよりも小さいか判定します。

参照

SFXBuffer::Compare | operator<= | operator> | operator>=


SFXBuffer::operator*=
左側のバッファを右側の回数だけ繰り返したバッファにします。
[ public ]
SFXBufferRef operator*=(
    SInt32 repeat   // 右側の回数
);

戻り値

左側のバッファを右側の回数だけ繰り返した後の左側のバッファ

解説

このオペレーターは、 左側のバッファを右側の回数だけ繰り返したバッファにします。

[Note] 注意

このオペレーターは左側のバッファに影響を及ぼします。

参照

SFXBuffer::Mul | operator*


operator*
左側のバッファを右側の回数だけ繰り返したバッファを返します。
[ public, friend ]
SFXBuffer operator*(
    SFXBufferConstRef left   // 左側のバッファ
    SInt32 right             // 右側の回数
);

戻り値

左側のバッファを右側の回数だけ繰り返したバッファ

解説

このオペレーターは、 左側のバッファを右側の回数だけ繰り返したバッファをコピーして返します。

[Note] 注意

このオペレーターは左側のバッファに影響を及ぼしません。

参照

SFXBuffer::Mul | SFXBuffer::operator*=


operator!=
左側のバッファが右側のバッファと異なるか判定します。
[ public, friend ]
Bool operator!=(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);

戻り値

  • 異なるとき: true
  • そうでないとき: false

解説

このオペレーターは、左側のバッファが右側のバッファと異なるか判定します。

参照

SFXBuffer::Equals | operator==


SFXBuffer::operator+=
左側のバッファの末尾に右側のバッファを追加します。
[ public ]
SFXBufferRef operator+=(
    SFXBufferConstRef buffer   // 右側のバッファ
);
[ public ]
SFXBufferRef operator+=(
    Byte byte   // 右側のバッファ(バイト値)
);

戻り値

末尾に右側のバッファを追加した左側のバッファ

解説

このオペレーターは、 左側のバッファの末尾に右側のバッファを追加します。

[Note] 注意

このオペレーターは左側のバッファに影響を及ぼします。

参照

SFXBuffer::Add | operator+


operator+
左側のバッファの末尾に右側のバッファを追加したバッファを返します。
[ public, friend ]
SFXBuffer operator+(
    SFXBufferConstRef left    // 左側のバッファ
    SFXBufferConstRef right   // 右側のバッファ
);
[ public, friend ]
SFXBuffer operator+(
    SFXBufferConstRef left   // 左側のバッファ
    Byte right               // 右側のバッファ
);

戻り値

左側のバッファの末尾に右側のバッファを追加したバッファ

解説

このオペレーターは、 左側のバッファの末尾に右側のバッファを追加したバッファをコピーして返します。

[Note] 注意

このオペレーターは左側のバッファに影響を及ぼしません。

参照

SFXBuffer::Add | SFXBuffer::operator+=


SFXBuffer::DefaultEnum
内部バッファメモリの最小値とクラスタサイズのデフォルト値を表します。[単位: バイト]
enum DefaultEnum {
    DEFAULT_THRESHOLD = 16,     // 内部バッファメモリの最小値 [単位: バイト]
    DEFAULT_CLUSTER   = 8       // 内部バッファメモリのクラスタサイズ(メモリ確保の最小単位) [単位: バイト]
};

解説

DEFAULT_THRESHOLD と DEFAULT_CLUSTER は、 内部バッファメモリ(SFXClusterHeap)の最小値とクラスタサイズのデフォルト値を表します。[単位: バイト]

参照

SFXBuffer::SetCluster | SFXBuffer::SetThreshold | SFXClusterHeap