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

函數方法包裝類,用於將類別方法轉換為標準 Function 介面 更多...

#include <FunctionMethod.h>

類別ufm::func::FunctionMethod的繼承圖:
ufm::lang::Object ufm::func::Function< T, R > ufm::lang::Interface

公開方法(Public Methods)

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 Interfaceapply (Interface &t) override
 實現 Function 介面的 apply 方法
 
- 公開方法(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
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 
- 公開方法(Public Methods) 繼承自 ufm::func::Function< T, R >
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>
ufm::func::FunctionMethod::FunctionMethod ( Interface & c,
Interface &(C::* method )(Interface &) )
inline

構造一個新的函數方法對象

將類別方法封裝為函數介面實現,建立方法引用。 透過型別轉換技術,實現跨類型方法的統一調用介面。 支持泛型編程,提升代碼重用性與架構靈活性。

樣版參數
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
參數
function要轉換的函數對象引用

◆ ~FunctionMethod()

virtual ufm::func::FunctionMethod::~FunctionMethod ( void )
overridevirtual

解構函數方法對象

釋放函數方法對象佔用的資源,並完成必要的清理工作。 當函數方法對象不再需要時,此解構子將被自動呼叫。

函式成員說明文件

◆ apply()

virtual Interface & ufm::func::FunctionMethod::apply ( Interface & t)
overridevirtual

實現 Function 介面的 apply 方法

調用建構時指定的物件方法,實現委派模式。 此方法作為 Function 介面與實際物件方法之間的轉接層, 將標準化的函數調用轉發至特定物件的成員方法。

參數
t傳遞給目標方法的參數
傳回值
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) 文件是由下列檔案中產生: