フレームアロケータ More...
#include <GxAllocatorFrame.h>
Classes | |
struct | GxMemoryStateHandle |
メモリ確保状態保存情報ハンドル More... | |
Public Member Functions | |
操作 | |
void * | allocateMemory (u32 type, u32 size, GxMemory::ALIGNMENT alignment=ALLOCATE_ALIGNMENT) override |
メモリ確保 (operator new用) | |
void | freeMemory (void *pAddress) override |
メモリ解放 (operator delete用) | |
void | freeMemoryHead (void) |
メモリ前方解放 | |
void | freeMemoryTail (void) |
メモリ後方解放 | |
void | freeMemoryAll (void) |
メモリ全解放 | |
void | recordMemoryState (GxMemoryStateHandle &record) |
メモリ確保状態の保存 | |
b32 | returnMemoryState (const GxMemoryStateHandle &record, MEMORYSTATE_RETURN_TYPE type=MEMORYSTATE_RETURN_TYPE::ALL) |
メモリ確保状態の復帰 | |
size_t | getUsedSizeHead (void) const |
現在の使用サイズを返す | |
アクセサ | |
u32 | getAllocatableMaxSize (GxMemory::ALIGNMENT alignment=ALLOCATE_ALIGNMENT) |
確保可能最大サイズ取得 | |
![]() | |
constexpr void * | getAddress (void) const |
確保アドレス取得 | |
constexpr u32 | getSize (void) const |
確保サイズ取得 | |
constexpr u32 | getAttribute (void) const |
アトリビュート取得 | |
constexpr void | setAttribute (u32 attribute) |
アトリビュート設定 | |
constexpr void | addAttribute (u32 attribute) |
アトリビュート追加 | |
constexpr GxMemory::TYPE | getMemoryType (void) const |
メモリ確保タイプ取得 | |
~GxAllocator (void) override | |
デストラクタ | |
virtual void * | reallocMemory (void *pAddress, u32 size) |
メモリ割り当てサイズ変更 | |
virtual b32 | isValidAddr (const void *pAddress) |
メモリ範囲チェック | |
![]() | |
constexpr | GxClassBase (void) |
コンストラクタ | |
constexpr | GxClassBase (const GxClassBase &base) |
コピーコンストラクタ | |
~GxClassBase (void) override | |
デストラクタ | |
![]() | |
constexpr | GxClassBaseRoot (void) |
コンストラクタ | |
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
コピーコンストラクタ | |
virtual | ~GxClassBaseRoot (void) |
デストラクタ | |
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
代入演算子 | |
virtual GxRtti & | getRtti (void) const =0 |
Rttiの取得 | |
virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
デフォルトオブジェクトを取得 | |
GX_FORCE_INLINE b32 | isDefaultObject (void) |
デフォルトオブジェクト判定 | |
定義 | |
enum class | ALLOCATE_TYPE { HEAD = 0 , TAIL } |
メモリ確保手法 More... | |
enum class | MEMORYSTATE_RETURN_TYPE { ALL = 0 , HEAD , TAIL } |
メモリ確保状態復帰タイプ More... | |
初期化 | |
GxAllocatorFrame (void) | |
デフォルトコンストラクタ (クラス外での使用禁止) | |
GxAllocatorFrame (GX_CSTR name, GxMemory::TYPE type, u32 size) | |
コンストラクタ (メモリ内部確保) | |
~GxAllocatorFrame (void) | |
デストラクタ | |
void | reset (void *pAddress, u32 size) |
メモリ指定破棄(destroy せずにリセットのみ) | |
static GxAllocatorFrame * | create (void *pAddress, u32 size) |
メモリ指定生成 | |
static void | destroy (GxAllocatorFrame *&pAllocator) |
メモリ指定破棄 | |
Additional Inherited Members | |
![]() | |
enum | ATTRIBUTE { ATTRIBUTE_ZERO_CLEAR = (1 << 0) , ATTRIBUTE_THREAD_SAFE = (1 << 1) , ATTRIBUTE_SEQUENTIAL_THREAD_SAFE = (1 << 2) , ATTRIBUTE_TRACE = (1 << 3) , ATTRIBUTE_LOCKED_TRACE = (1 << 4) } |
属性 More... | |
![]() | |
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
static constexpr u32 | ALLOCATE_TYPE_DEFAULT = 0 |
ディフォルト値 | |
![]() | |
GxAllocator (void) | |
ディフォルトコンストラクタ | |
GxAllocator (GxMemory::TYPE type, GX_CSTR name) | |
コンストラクタ | |
void | lock (void) |
スレッドロック | |
void | unlock (void) |
スレッドアンロック | |
void | initializeAllocateBuffer (void *pAddress, u32 size) |
確保メモリ初期化 | |
void | terminateAllocateBuffer (void *pAddress, u32 size) |
確保メモリ終了 | |
![]() | |
GxCriticalSection | _criticalSection |
クリティカルセクション | |
void * | _pAddress |
確保アドレス | |
u32 | _size |
確保サイズ | |
u32 | _attribute |
属性 | |
GxMemory::TYPE | _type |
メモリ確保タイプ | |
フレームアロケータ
|
strong |
|
strong |
GxAllocatorFrame::GxAllocatorFrame | ( | GX_CSTR | name, |
GxMemory::TYPE | type, | ||
u32 | size ) |
コンストラクタ (メモリ内部確保)
name | [in] アロケータ名 (※開発時のみ有効) |
type | [in] メモリ確保タイプ |
size | [in] アロケータ割り当てサイズ |
|
overridevirtual |
メモリ確保 (operator new用)
type | [in] 確保タイプ (※ALLOCATE_TYPEを指定する) |
size | [in] 確保サイズ |
filename | [in] 呼び出し元ファイル名 (※未使用・DEBUG時のみ) |
line | [in] 呼び出し元ソースライン番号 (※未使用・DEBUG時のみ) |
alignment | [in] メモリアライメント |
Reimplemented from GxAllocator.
|
static |
メモリ指定生成
pAddress | [in] フレームアロケータ生成バッファポインタ |
size | [in] フレームアロケータサイズ |
|
static |
メモリ指定破棄
pAllocator | [in,out] メモリ指定生成にて取得したフレームアロケータポインタ |
|
overridevirtual |
メモリ解放 (operator delete用)
pAddress | [in] 解放アドレス (※未使用) |
filename | [in] 呼び出し元ファイル名 (※未使用・DEBUG時のみ) |
line | [in] 呼び出し元ソースライン番号 (※未使用・DEBUG時のみ) |
Reimplemented from GxAllocator.
u32 GxAllocatorFrame::getAllocatableMaxSize | ( | GxMemory::ALIGNMENT | alignment = ALLOCATE_ALIGNMENT | ) |
確保可能最大サイズ取得
alignment | [in] アライメント指定 |
size_t GxAllocatorFrame::getUsedSizeHead | ( | void | ) | const |
現在の使用サイズを返す
void GxAllocatorFrame::recordMemoryState | ( | GxMemoryStateHandle & | record | ) |
メモリ確保状態の保存
record | [out] 保存状態ハンドル出力先 |
void GxAllocatorFrame::reset | ( | void * | pAddress, |
u32 | size ) |
メモリ指定破棄(destroy せずにリセットのみ)
pAddress | [in] アドレス |
size | [in] サイズ |
b32 GxAllocatorFrame::returnMemoryState | ( | const GxMemoryStateHandle & | record, |
MEMORYSTATE_RETURN_TYPE | type = MEMORYSTATE_RETURN_TYPE::ALL ) |
メモリ確保状態の復帰
record | [in] 復帰保存状態ハンドル |
type | [in] 復帰タイプ (全部 or 先頭のみ or 終端のみ) |