mFrame
載入中...
搜尋中...
無符合項目
ufm::lang::Strings 類別 參考文件final

字串類別,提供字串操作和記憶體管理功能 更多...

#include <Strings.h>

類別ufm::lang::Strings的繼承圖:
ufm::lang::Memory ufm::lang::Data ufm::lang::NonCopyable ufm::lang::Pointer ufm::lang::Object ufm::lang::Interface

公開方法(Public Methods)

 Strings (ufm::lang::Memory memory) noexcept
 建構字串物件
 
 Strings (void *pointer, int size)
 建構字串物件
 
 Strings (const char *str)
 建構字串物件
 
 Strings (int length)
 建構字串物件
 
 Strings (Strings &&other) noexcept=default
 複製建構字串物件
 
 Strings (Strings &other) noexcept=default
 複製建構字串物件
 
virtual ~Strings (void) override
 解構字串物件
 
Stringsoperator+= (const char ch)
 插入字元至尾端
 
Stringsoperator+= (const char *str)
 插入字串至尾端
 
Stringsoperator+= (ufm::lang::Readable &readable)
 插入可讀取物件至尾端
 
Stringsoperator+= (int i)
 插入整數至尾端
 
Stringsoperator+= (double d)
 插入浮點數至尾端
 
Stringsoperator= (const char *str)
 設定字串
 
char & operator[] (int index)
 取得指定索引的字元
 
virtual int hashcode (void) const override
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
virtual int hashdata (void) const override
 計算資料雜湊值
 
bool isEmpty (void) const
 判斷字串是否為空
 
void clear (void)
 清除字串內容
 
int size (void) const
 取得字串長度
 
int bufferSize (void)
 取的字串原始空間大小
 
int scanFormat (const char *format,...)
 從字串中掃描並解析格式化數據
 
int format (const char *format, va_list arg)
 
int format (const char *format,...)
 
void convertUpper (void)
 將字串轉換為大寫
 
void convertLower (void)
 將字串轉換為小寫
 
Strings toUpper (void) const
 取得大寫字串
 
Strings toLower (void) const
 取得小寫字串
 
Strings clone (void) const
 複製字串
 
Strings clone (int length) const
 
Strings clone (int offset, int length) const
 
int replace (char oldChar, char newChar)
 替換字串中的指定字元
 
Stringsappend (const char c)
 在字串尾端新增一個字元
 
Stringsappend (const char *str)
 在字串尾端新增一個字串
 
Stringsappend (ufm::lang::Readable &readable)
 在字串尾端新增一個可讀取物件
 
Stringsappend (int value)
 在字串尾端新增一個整數
 
Stringsappend (double value)
 在字串尾端新增一個浮點數
 
Stringsappend (bool boolena)
 在字串尾端新增一個布林值
 
Stringsset (const char *str)
 設定字串
 
int hashcodeLowerCast (void)
 以全小寫的形式取得哈希碼
 
int hashcodeUpperCast (void)
 以全大寫的形式取得哈希碼
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Memory
 Memory (const Data &data)
 以資料物件建構 Memory 實例
 
 Memory (const void *pointer, int length)
 以 const 指標與長度建構 Memory 實例
 
 Memory (void *pointer, int length)
 以指標與長度建構 Memory 實例
 
 Memory (void *pointer, uint32 length)
 以 const 指標與長度建構 Memory 實例
 
 Memory (int length)
 以指定長度建構 Memory 實例
 
 Memory (Memory &other) noexcept
 淺層複製構造器(移動語意)
 
 Memory (Memory &&other) noexcept
 移動構造器
 
virtual ~Memory (void) override
 釋放記憶體資源並執行清理
 
bool isHeapMemory (void) const
 判斷是否為堆記憶體
 
bool resize (int size)
 調整記憶體大小
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Data
 Data (void)
 建立新的 Data 物件
 
 Data (const char *pointer)
 根據字元指標建立 Data 物件
 
 Data (const void *pointer, int length)
 使用常數 void 指標及長度建立 Data 物件
 
 Data (void *pointer, int length)
 使用可修改 void 指標及長度建立 Data 物件
 
 Data (const Data &other)
 複製建構子,根據現有 Data 物件建立新物件
 
Dataoperator= (const Data &other)=default
 賦值運算子,將另一個 Data 物件的內容複製到當前物件
 
virtual int copy (const void *source, int shift, int start, int length) override
 將來源資料複製到 Data 物件中
 
bool isReadOnly (void) const
 檢查資料是否唯讀
 
int length (void) const
 取得資料有效長度
 
uint32 lengthUnsigned (void) const
 取得資料無符號長度
 
int wipe (void)
 以預設值 0x00 擦除所有資料
 
int wipe (uint8 value)
 以指定值擦除所有資料
 
int wipe (uint8 value, int length)
 從起始處以指定長度使用指定值擦除資料
 
int popArray (int start, int length)
 從指定起始位置取出陣列資料(不儲存結果)
 
int popArray (void *source, int start, int length)
 從指定起始位置取出陣列資料並儲存至指定來源
 
int insertArray (const void *source, int start, int length)
 將來源陣列資料插入到 Data 物件中
 
bool inRange (void *address) const
 檢查指定位址是否落在資料範圍內
 
int wipe (uint8 value, int start, int length)
 從指定起始位置以指定長度擦除資料
 
ufm::lang::Data subData (int beginIndex, int length) const
 取得子資料區段
 
int insertArray (const void *source, int shift, int start, int length)
 將來源陣列資料依指定位移複製至 Data 物件中
 
int popArray (void *source, int shift, int start, int length)
 Data 物件中依指定位移取出陣列資料
 
int copy (const void *source, int length)
 複製來源資料至內部資料區塊,使用預設偏移參數
 
int copy (const void *source, int offset, int length)
 複製來源資料至內部資料區塊,可指定目標位址偏移
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Pointer
 Pointer (void)
 儲存指標的內部成員變數
 
 Pointer (const void *pointer)
 建立一個 Pointer 物件,並以 const void* 初始化內部指標
 
 Pointer (void *pointer)
 建立一個 Pointer 物件,並以 void* 初始化內部指標
 
 Pointer (uint32 pointer)
 建立一個 Pointer 物件,並以 32 位元整數表示的位址初始化
 
 Pointer (const Pointer &other)
 複製建構子,從另一個 Pointer 物件複製內部位址
 
 operator void * (void)
 隱式轉換為 void*,可直接取得內部指標
 
 operator const char * (void)
 隱式轉換為 const char*,適用於字串存取
 
bool operator== (const void *pointer)
 比較內部指標與外部指標是否相同
 
bool operator== (const Pointer &pointer)
 比較兩個 Pointer 物件的內部指標是否相同
 
template<typename E >
 operator E* (void)
 模板運算子,將內部指標轉換為指定型態的指標(非 const 版本)
 
template<typename E >
 operator E* (void) const
 模板運算子,將內部指標轉換為指定型態的指標(const 版本)
 
Pointeroperator= (const Pointer &other)=default
 賦值運算子,將另一個 Pointer 物件的內部指標複製到當前物件
 
int copyTo (void *destination, int length) const
 複製內部資料至目標記憶體區塊
 
int copyTo (void *destination, int start, int length) const
 複製內部資料至目標記憶體區塊,可指定來源起始位置
 
bool compairStrings (const char *str) const
 比較內部資料與傳入字串是否相同(從起始位置開始比較)
 
bool compairStrings (const char *str, int start) const
 比較內部資料與傳入字串是否相同,可指定來源資料起始位置
 
bool compair (const void *source, int length) const
 比較內部資料與來源資料是否相等(從起始位置開始比較)
 
bool compair (const void *source, int start, int length) const
 比較內部資料與來源資料是否相等,可指定來源資料的起始偏移
 
int indexOf (char ch, int start, int limit) const
 在內部資料中查找指定字元 ch,回傳該字元的偏移位置
 
int indexOfStrings (const char *str, int limit) const
 在內部資料中查找指定字串,回傳該字串的偏移位置(使用預設起始位置)
 
int indexOfStrings (const char *str, int start, int limit) const
 在內部資料中查找指定字串,回傳該字串的偏移位置
 
int copy (const void *source, int length)
 複製來源資料至內部資料區塊,使用預設偏移參數
 
int copy (const void *source, int offset, int length)
 複製來源資料至內部資料區塊,可指定目標位址偏移
 
char getByte (int shift) const
 取得指定偏移處的 byte 值
 
int getInteger (int shift) const
 取得指定偏移處的整數值
 
short getShort (int shift) const
 取得指定偏移處的 short 值
 
Pointer getPointer (int offset) const
 以指定偏移建立新的 Pointer 物件
 
uint32 getAddress (void) const
 取得內部記憶體位址的整數表示
 
bool isAlignment32Bit (void)
 檢查內部位址是否 32 位元對齊
 
bool isAlignment64Bit (void)
 檢查內部位址是否 64 位元對齊
 
bool isNull (void) const
 檢查內部指標是否為空
 
template<typename E = void*>
E * pointer (void) const
 模板方法,取得內部指標並轉換為指定型態(不指定偏移)
 
template<typename E = void*>
E * pointer (int offset) const
 模板方法,取得內部指標並轉換為指定型態(指定偏移)
 
template<typename E = void*>
E * pointer (uint32 offset) const
 模板方法,取得內部指標並轉換為指定型態(指定偏移,使用 uint32 參數)
 
virtual int copyTo (void *destination, int offset, int destinationOffset, int length) const
 將內部資料複製到目標記憶體區塊,可指定來源與目標的起始偏移
 
virtual bool compair (const void *source, int offset, int sourceOffset, int length) const
 比較內部資料與來源資料是否相等,可指定各自的起始偏移與比較長度
 
virtual int indexOfData (const void *destination, int destinationLen, int start=0, int limit=0) const
 尋找指定 pattern 是否存在於內部資料中,並返回第一個符合條件的偏移量
 
virtual void move (int head, int offset, int length)
 將來源位置的資料以中間緩衝區方式移動至新的位置
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (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::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 
- 公開方法(Public Methods) 繼承自 ufm::lang::NonCopyable
 NonCopyable (void)=default
 建構一個新的 NonCopyable 物件
 
 NonCopyable (const NonCopyable &other)=delete
 禁止複製建構子
 
NonCopyableoperator= (const NonCopyable &other)=delete
 禁止複製賦值運算子
 

靜態公開方法(Static Public Methods)

static Strings empty (void)
 取得空字串
 
static Strings format (int bufferSize, const char *format,...)
 格式化字串
 
static int getLength (const char *src)
 取得字串長度
 
static int getHashcode (const char *src)
 取得字串的哈希碼
 
- 靜態公開方法(Static Public Methods) 繼承自 ufm::lang::Memory
static ufm::lang::Memory nullMemory (void)
 取得一個空的 Memory 物件
 
- 靜態公開方法(Static Public Methods) 繼承自 ufm::lang::Data
static void wipe (void *pointer, uint8 value, int length)
 使用指定值擦除記憶體區塊
 
static void wipe (void *pointer, int length)
 根據指定長度擦除記憶體區塊
 

詳細描述

字串類別,提供字串操作和記憶體管理功能

建構子與解構子說明文件

◆ Strings() [1/6]

ufm::lang::Strings::Strings ( ufm::lang::Memory memory)
noexcept

建構字串物件

參數
memory記憶體物件

◆ Strings() [2/6]

ufm::lang::Strings::Strings ( void * pointer,
int size )
inline

建構字串物件

參數
pointer指向字串的指標
size字串大小

◆ Strings() [3/6]

ufm::lang::Strings::Strings ( const char * str)

建構字串物件

參數
str字串

◆ Strings() [4/6]

ufm::lang::Strings::Strings ( int length)
inline

建構字串物件

參數
length字串長度

◆ Strings() [5/6]

ufm::lang::Strings::Strings ( Strings && other)
defaultnoexcept

複製建構字串物件

參數
other其他字串物件

◆ Strings() [6/6]

ufm::lang::Strings::Strings ( Strings & other)
defaultnoexcept

複製建構字串物件

參數
other其他字串物件

函式成員說明文件

◆ append() [1/6]

Strings & ufm::lang::Strings::append ( bool boolena)

在字串尾端新增一個布林值

參數
boolena布林值
傳回值
Strings& 回傳自身參考以支援鏈式呼叫

◆ append() [2/6]

Strings & ufm::lang::Strings::append ( const char * str)

在字串尾端新增一個字串

參數
str要新增的字串
傳回值
Strings& 回傳自身參考以支援鏈式呼叫

◆ append() [3/6]

Strings & ufm::lang::Strings::append ( const char c)

在字串尾端新增一個字元

參數
c要新增的字元
傳回值
Strings& 回傳自身參考以支援鏈式呼叫

◆ append() [4/6]

Strings & ufm::lang::Strings::append ( double value)

在字串尾端新增一個浮點數

參數
value浮點數
傳回值
Strings& 回傳自身參考以支援鏈式呼叫

◆ append() [5/6]

Strings & ufm::lang::Strings::append ( int value)

在字串尾端新增一個整數

參數
value整數
傳回值
String& 回傳自身參考以支援鏈式呼叫

◆ append() [6/6]

Strings & ufm::lang::Strings::append ( ufm::lang::Readable & readable)

在字串尾端新增一個可讀取物件

參數
readable可讀取物件
傳回值
String& 回傳自身參考以支援鏈式呼叫

◆ bufferSize()

int ufm::lang::Strings::bufferSize ( void )

取的字串原始空間大小

來自於Memory::size

傳回值
int 空間大小

◆ clone() [1/3]

Strings ufm::lang::Strings::clone ( int length) const
參數
length
傳回值
Strings

◆ clone() [2/3]

Strings ufm::lang::Strings::clone ( int offset,
int length ) const
參數
offset起始偏移量
length要複製的長度
傳回值
Strings 複製產生的新字串物件

◆ clone() [3/3]

Strings ufm::lang::Strings::clone ( void ) const

複製字串

傳回值
Strings 複製的字串

◆ empty()

static Strings ufm::lang::Strings::empty ( void )
static

取得空字串

傳回值
Strings 空字串

◆ format() [1/3]

int ufm::lang::Strings::format ( const char * format,
va_list arg )
參數
format
arg
傳回值
int

◆ format() [2/3]

int ufm::lang::Strings::format ( const char * format,
... )
參數
format
...
傳回值
int

◆ format() [3/3]

static Strings ufm::lang::Strings::format ( int bufferSize,
const char * format,
... )
static

格式化字串

參數
bufferSize緩衝區大小
format格式化字串
...變數參數
傳回值
Strings 格式化後的字串

◆ getHashcode()

static int ufm::lang::Strings::getHashcode ( const char * src)
static

取得字串的哈希碼

參數
src字串來源
傳回值
int 哈希碼

◆ getLength()

static int ufm::lang::Strings::getLength ( const char * src)
static

取得字串長度

參數
src字串來源
傳回值
int 字串長度

◆ hashcode()

virtual int ufm::lang::Strings::hashcode ( void ) const
overridevirtual

返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。

傳回值
uint32 該對象的哈希碼值。

依據ufm::lang::Object重新實作.

◆ hashcodeLowerCast()

int ufm::lang::Strings::hashcodeLowerCast ( void )

以全小寫的形式取得哈希碼

傳回值
int 哈希碼

◆ hashcodeUpperCast()

int ufm::lang::Strings::hashcodeUpperCast ( void )

以全大寫的形式取得哈希碼

傳回值
int 哈希碼

◆ hashdata()

virtual int ufm::lang::Strings::hashdata ( void ) const
overridevirtual

計算資料雜湊值

傳回值
int 雜湊值

依據ufm::lang::Data重新實作.

◆ isEmpty()

bool ufm::lang::Strings::isEmpty ( void ) const
inline

判斷字串是否為空

傳回值
true 空字串
false 非空字串

◆ operator+=() [1/5]

Strings & ufm::lang::Strings::operator+= ( const char * str)
inline

插入字串至尾端

參數
str字串
傳回值
Strings& 參考自身物件

◆ operator+=() [2/5]

Strings & ufm::lang::Strings::operator+= ( const char ch)
inline

插入字元至尾端

參數
ch字元
傳回值
Strings& 參考自身物件

◆ operator+=() [3/5]

Strings & ufm::lang::Strings::operator+= ( double d)
inline

插入浮點數至尾端

參數
value浮點數
傳回值
Strings& 參考自身物件

◆ operator+=() [4/5]

Strings & ufm::lang::Strings::operator+= ( int i)
inline

插入整數至尾端

參數
value整數
傳回值
Strings& 參考自身物件

◆ operator+=() [5/5]

Strings & ufm::lang::Strings::operator+= ( ufm::lang::Readable & readable)
inline

插入可讀取物件至尾端

參數
WriteBuffer可讀取物件
傳回值
Strings& 參考自身物件

◆ operator=()

Strings & ufm::lang::Strings::operator= ( const char * str)
inline

設定字串

參數
str字串
傳回值
Strings& 參考自身物件

◆ operator[]()

char & ufm::lang::Strings::operator[] ( int index)
inline

取得指定索引的字元

參數
index索引
傳回值
char& 字元參考

◆ replace()

int ufm::lang::Strings::replace ( char oldChar,
char newChar )

替換字串中的指定字元

參數
oldChar要被替換的字元
newChar替換成的新字元
傳回值
int 實際替換的字元數量

◆ scanFormat()

int ufm::lang::Strings::scanFormat ( const char * format,
... )

從字串中掃描並解析格式化數據

參數
format格式化字串
...變數參數
傳回值
int 解析的參數數量

◆ set()

Strings & ufm::lang::Strings::set ( const char * str)

設定字串

參數
str字串
傳回值
Strings& 參考自身物件

◆ size()

int ufm::lang::Strings::size ( void ) const

取得字串長度

傳回值
int 字串有效長度

◆ toLower()

Strings ufm::lang::Strings::toLower ( void ) const

取得小寫字串

傳回值
Strings 小寫字串

◆ toUpper()

Strings ufm::lang::Strings::toUpper ( void ) const

取得大寫字串

傳回值
Strings 大寫字串

此類別(class) 文件是由下列檔案中產生: