8#ifndef MFRAME_D6A75B59_D8E5_4FB2_BAB8_41477CE17D21
9#define MFRAME_D6A75B59_D8E5_4FB2_BAB8_41477CE17D21
16#include "./../lang/Data.h"
17#include "./../lang/NonCopyable.h"
82 template <
typename T,
size_t N>
83 inline Memory(T (&array)[N]) :
Memory(array, static_cast<int>(N * sizeof(T))) {
92 template <
typename T,
size_t N>
144 return (this->vNext !=
nullptr);
176 return Memory(
static_cast<const void*
>(
nullptr), 0);
資料封裝與操作類別
Definition Data.h:37
int length(void) const
取得資料長度
Definition Data.h:153
動態記憶體管理類別
Definition Memory.h:38
Memory(void *pointer, int length)
以指標與長度初始化 Memory
Definition Memory.h:73
virtual ~Memory(void) override
解構子,釋放記憶體資源
Memory(Memory &other) noexcept
移動建構子(淺層複製)
Memory(void *pointer, uint32 length)
以指標與無符號長度初始化 Memory
Definition Memory.h:102
bool isHeapMemory(void) const
判斷是否為堆積記憶體
Definition Memory.h:143
Memory(int length)
以指定長度分配記憶體
Memory(const T(&array)[N])
以常數陣列初始化 Memory
Definition Memory.h:93
Memory(const Data &data)
以 Data 物件初始化 Memory
static ufm::lang::Memory nullMemory(void)
取得空 Memory 物件
Definition Memory.h:175
Memory(Memory &&other) noexcept
移動建構子
bool resize(int size)
調整記憶體大小
Memory(const void *pointer, int length)
以常數指標與長度初始化 Memory
Definition Memory.h:64
Memory(T(&array)[N])
以陣列初始化 Memory
Definition Memory.h:83
E * pointer(void) const
模板方法,取得內部指標並轉換為指定型態(不指定偏移)
Definition Pointer.h:398
Definition Appendable.h:23
禁止複製的結構
Definition NonCopyable.h:38