![]() |
mFrame
|
指標操作工具類別 更多...
#include <Pointers.h>
靜態公開方法(Static Public Methods) | |
static void *const & | getReferenceNullPointer (void) |
獲取空指標的常數引用 | |
static uint32 | toUnsignedInt (const void *pointer) |
將指標轉換為無符號整數 | |
static uint32 | toSignedInt (const void *pointer) |
轉換為整數 | |
template<class T > | |
static T * | shift (T *pointer, int shift) |
指標位址偏移計算 | |
template<class T > | |
static T * | shift (T *pointer, uint32 shift) |
指標位址偏移計算(無符號整數) | |
template<class T > | |
static const T * | shift (const T *pointer, int shift) |
常數地址偏移 | |
template<class T > | |
static const T * | shift (const T *pointer, uint32 shift) |
常數地址偏移(無符號整數) | |
template<class T > | |
static T * | cast (void *src) |
型態轉換輔助方法 | |
template<class T > | |
static T * | cast (uint32 address) |
型態轉換 | |
static void | copy (void *destination, const void *source, int length) |
複製記憶體區塊 | |
static void | move (void *destination, const void *source, int length) |
移動記憶體區塊 | |
static int | compare (const void *src1, const void *src2, int length) |
比較兩記憶體區塊的內容 | |
static void | wipe (void *src, int value, int length) |
將記憶體區塊設置為指定值 | |
static void | wipe (void *src, int length) |
將記憶體區塊清零 | |
static int | getStringLength (const char *src) |
取得C字串的長度 | |
保護方法(Protected Methods) | |
virtual | ~Pointers (void) override=default |
Destroy the Pointers object. | |
![]() | |
NonInstantiable (void)=delete | |
禁止實例化 NonInstantiable 類別 | |
NonInstantiable (const NonInstantiable &)=delete | |
禁止複製建構函式 | |
virtual | ~NonInstantiable (void) override=default |
Destroy the Non Instantiable object. | |
NonInstantiable & | operator= (const NonInstantiable &)=delete |
NonInstantiable & | operator= (NonInstantiable &&)=delete |
額外的繼承成員 | |
![]() | |
void * | operator new (size_t n) |
使用運算子 new 分配記憶體 | |
void * | operator new (size_t n, void *p) |
在指定記憶體上調用運算子 new | |
virtual ufm::lang::Object & | getObject (void) override |
取得對應的 Object 物件 | |
void | delay (int milliseconds) const |
延遲指定的毫秒數進行執行緒等待 | |
bool | equals (Object *object) const |
判斷與另一物件是否為相同參照(指標型態比較) | |
bool | equals (Object &object) const |
判斷與另一物件是否為相同參照(參照型態比較) | |
void | wait (void) const |
使當前線程等待直到被通知 | |
bool | wait (int timeout) const |
等待通知或超時 | |
bool | yield (void) const |
讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
int | lock (void) const |
核心鎖定,鎖定期間禁止線程切換 | |
int | unlock (void) const |
核心解鎖 | |
ufm::sys::Thread * | currentThread (void) const |
取得當前執行緒指標 | |
virtual int | hashcode (void) const |
返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
![]() | |
virtual | ~Interface (void)=default |
虛擬析構函式 | |
指標操作工具類別
本類別提供針對指標的位元組轉換、偏移、拷貝、移動與比較等各項操作, 並以靜態方法提供便利的功能實作。
|
inlinestatic |
型態轉換
T | 原始型態 |
address | 來源地址 |
t | 轉換型態 |
|
inlinestatic |
型態轉換輔助方法
T | 目標型態 |
src | 來源指標 |
|
static |
比較兩記憶體區塊的內容
按位元組比較兩個記憶體區塊。
src1 | 區塊1指標 |
src2 | 區塊2指標 |
length | 比較的位元組數 |
|
static |
複製記憶體區塊
將來源記憶體區塊的內容複製到目標區塊(逐位元組複製)。
destination | 目標記憶體區塊指標 |
source | 來源記憶體區塊指標 |
length | 要複製的位元組數 |
|
static |
獲取空指標的常數引用
|
static |
取得C字串的長度
計算以 '\0' 結尾的字串長度,不包含終止符。
src | 原始字串指標 |
|
static |
移動記憶體區塊
將來源記憶體區塊移動到目標區塊,用於來源與目標可能重疊的情況。
destination | 目標記憶體區塊指標 |
source | 來源記憶體區塊指標 |
length | 要移動的位元組數 |
|
inlinestatic |
常數地址偏移
T | 類別 |
pointer | 常數地址來源 |
shift | 偏移 |
|
inlinestatic |
常數地址偏移(無符號整數)
T | 類別 |
pointer | 常數地址來源 |
shift | 偏移 |
|
inlinestatic |
指標位址偏移計算
T | 指標類型 |
pointer | 原始指標 |
shift | 偏移量(可為正或負) |
|
inlinestatic |
指標位址偏移計算(無符號整數)
T | 指標類型 |
pointer | 原始指標 |
shift | 偏移量(無符號整數) |
|
inlinestatic |
轉換為整數
pointer | 地址 |
|
inlinestatic |
將指標轉換為無符號整數
pointer | 要轉換的指標 |
|
static |
將記憶體區塊清零
將 src 開始的記憶體區塊填充為0。
src | 目標記憶體區塊指標 |
length | 填充的位元組數 |
|
static |
將記憶體區塊設置為指定值
將 src 開始的記憶體區塊填充為指定的整數值。
src | 目標記憶體區塊指標 |
value | 填充值 |
length | 填充的位元組數 |