函數方法包裝類,用於將類別方法轉換為標準 Function 介面
更多...
#include <FunctionMethod.h>
|
template<typename T = Interface, typename R = Interface, typename C = Interface> |
| FunctionMethod (Interface &c, Interface &(C::*method)(Interface &)) |
| 構造一個新的函數方法對象
|
|
template<typename T = Interface, typename R = Interface> |
| FunctionMethod (Function< T, R > &function) |
| 從現有的函數對象構造函數方法對象
|
|
virtual | ~FunctionMethod (void) override |
| 解構函數方法對象
|
|
template<typename T , typename R > |
| operator const Function< T, R > & (void) const |
| 轉換為特定類型的函數介面常量引用
|
|
template<typename T , typename R > |
| operator Function< T, R > & (void) |
| 轉換為特定類型的函數介面引用
|
|
virtual Interface & | apply (Interface &t) override |
| 實現 Function 介面的 apply 方法
|
|
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 |
| 虛擬析構函式
|
|
virtual R & | apply (T &t) override |
| 應用函數至指定的輸入物件
|
|
函數方法包裝類,用於將類別方法轉換為標準 Function 介面
FunctionMethod 類提供方法引用機制,將類別成員方法包裝為 Function 介面。 透過記錄物件實例與方法指針,允許以統一方式調用不同類別的方法。 實現了策略模式與命令模式,使物件方法能在函數式架構中靈活使用。
- 自
- 1.0.0
◆ FunctionMethod() [1/2]
template<typename T = Interface, typename R = Interface, typename C = Interface>
構造一個新的函數方法對象
將類別方法封裝為函數介面實現,建立方法引用。 透過型別轉換技術,實現跨類型方法的統一調用介面。 支持泛型編程,提升代碼重用性與架構靈活性。
- 樣版參數
-
T | 目標方法的參數類型,預設為 Interface |
R | 目標方法的返回值類型,預設為 Interface |
C | 目標方法所屬的類類型,預設為 Interface |
- 參數
-
c | 類的實例引用 |
method | 要包裝的類成員方法指針 |
◆ FunctionMethod() [2/2]
template<typename T = Interface, typename R = Interface>
ufm::func::FunctionMethod::FunctionMethod |
( |
Function< T, R > & | function | ) |
|
|
inline |
從現有的函數對象構造函數方法對象
將符合 Function 介面的對象轉換為函數方法對象。 此建構方法提供了轉接器功能,實現函數對象間的互操作性。 使現有 Function 實現能夠在需要 FunctionMethod 的上下文中使用。
- 樣版參數
-
T | 輸入函數的參數類型,預設為 Interface |
R | 輸入函數的返回值類型,預設為 Interface |
- 參數
-
◆ ~FunctionMethod()
virtual ufm::func::FunctionMethod::~FunctionMethod |
( |
void | | ) |
|
|
overridevirtual |
解構函數方法對象
釋放函數方法對象佔用的資源,並完成必要的清理工作。 當函數方法對象不再需要時,此解構子將被自動呼叫。
◆ apply()
實現 Function 介面的 apply 方法
調用建構時指定的物件方法,實現委派模式。 此方法作為 Function 介面與實際物件方法之間的轉接層, 將標準化的函數調用轉發至特定物件的成員方法。
- 參數
-
- 傳回值
- Interface& 目標方法的返回值
◆ operator const Function< T, R > &()
template<typename T , typename R >
ufm::func::FunctionMethod::operator const Function< T, R > & |
( |
void | | ) |
const |
|
inline |
轉換為特定類型的函數介面常量引用
提供型別安全的向下轉換機制,使泛型函數方法能作為特定型別函數使用。 實現了多態性,同時保持強型別系統的安全性。 轉換結果為常數引用,確保型別安全與不可變性。
- 樣版參數
-
T | 目標函數介面的輸入參數類型 |
R | 目標函數介面的返回值類型 |
- 傳回值
- 轉換後的函數介面常量引用
◆ operator Function< T, R > &()
template<typename T , typename R >
ufm::func::FunctionMethod::operator Function< T, R > & |
( |
void | | ) |
|
|
inline |
轉換為特定類型的函數介面引用
提供型別安全的向下轉換機制,使泛型函數方法能作為特定型別函數使用。 實現了多態性,同時提供完整操作權限。 轉換結果為非常數引用,適用於需要修改目標物件的場景。
- 樣版參數
-
T | 目標函數介面的輸入參數類型 |
R | 目標函數介面的返回值類型 |
- 傳回值
- 轉換後的函數介面引用
此類別(class) 文件是由下列檔案中產生: