XmlStreamReader, XmlStreamWriter の各インスタンス毎に設定できるアロケータです。
[詳解]
#include "nn/nlib/exi/ExiAllocator.h"
XmlStreamReader, XmlStreamWriter の各インスタンス毎に設定できるアロケータです。
- 説明
ExiAllocator
はシングルトンですが、ExiAllocatorEx
はインスタンスを構築でき、XmlStreamReader
, XmlStreamWriter
の構築時に引数として渡すことにより、(同じスレッドでも)インスタンス毎に異なるアロケータを利用することが可能になります。
- メンバ関数は
ExiAllocator
と同様のものが実装されています。 以下が利用例です。
al_writer.Initialize(g_WriterBuf, BUF_SIZE);
OutputStream* os = ....;
ExiAllocator.h の 22 行目に定義があります。
nn::nlib::exi::ExiAllocatorEx::Alloc |
( |
size_t |
nbytes | ) |
|
|
noexcept |
アロケータからnBytes
のメモリを割り当てます。
- 引数
-
- 戻り値
- 割り当てられたメモリのアドレス。失敗した場合は
NULL
nn::nlib::exi::ExiAllocatorEx::Dealloc |
( |
void * |
p | ) |
|
|
noexcept |
メモリをデアロケートしたときに呼び出されます。
- 引数
-
nn::nlib::exi::ExiAllocatorEx::Finalize |
( |
| ) |
|
|
noexcept |
アロケータの利用を終了します。
- 戻り値
- 初期化時に与えたメモリブロックのポインタ
nn::nlib::exi::ExiAllocatorEx::GetPos |
( |
| ) |
|
|
noexcept |
割り当て済みメモリのサイズを返します。
- 戻り値
- 割り当て済みメモリのサイズ
nn::nlib::exi::ExiAllocatorEx::Initialize |
( |
void * |
p, |
|
|
size_t |
size |
|
) |
| |
|
noexcept |
アロケータを初期化します。
- 引数
-
[in] | p | メモリブロックの先頭へのポインタ |
[in] | size | メモリブロックのサイズ |
- 戻り値
- 成功ならば
true
- 説明
- アロケータにメモリを割り当て初期化します。
nn::nlib::exi::ExiAllocatorEx::IsOutOfMemory |
( |
| ) |
|
|
noexcept |
以前のメモリアロケートが失敗したかどうかを調べます。
- 戻り値
- メモリのアロケートに失敗していれば
true
nn::nlib::exi::ExiAllocatorEx::Realloc |
( |
void * |
ptr, |
|
|
size_t |
from_nbytes, |
|
|
size_t |
nbytes |
|
) |
| |
|
noexcept |
アロケートされたメモリを拡張する場合に呼び出されることがあります。
- 引数
-
[in] | ptr | 拡張されるメモリの先頭アドレス |
[in] | from_nbytes | 拡張前のアロケートされたメモリサイズ |
[in] | nbytes | 拡張後のメモリサイズ |
- 戻り値
- 割り当てられたメモリのアドレス。失敗した場合は
NULL
- 説明
- C標準関数のreallocと違い、現在アロケートされているメモリのサイズを渡す必要があります。
nn::nlib::exi::ExiAllocatorEx::Test |
( |
size_t |
nbytes | ) |
|
|
noexcept |
nBytes
のメモリがアロケート可能かどうかをテストします。
- 引数
-
[in] | nbytes | アロケートしようとするメモリのサイズ |
- 戻り値
false
ならばアロケート不可能
- 説明
false
を返した場合は以後のIsOutOfMemory()
の呼び出しがtrue
を返します。 Alloc()
が失敗するかどうかを事前に知りたい場合に利用します。
このクラス詳解は次のファイルから抽出されました: