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

消費者方法包裝類,將類別方法轉換為標準 Consumer 介面 更多...

#include <ConsumerMethod.h>

類別ufm::func::ConsumerMethod的繼承圖:
ufm::lang::Object ufm::func::Consumer< T > ufm::lang::Interface

公開方法(Public Methods)

template<typename T = Interface, typename C = Interface>
 ConsumerMethod (Interface &c, void(C::*method)(T &))
 構造一個新的 ConsumerMethod 物件
 
template<typename T = Interface>
 ConsumerMethod (Consumer< T > &consumer)
 從現有 Consumer 物件構造新的 ConsumerMethod 物件
 
virtual ~ConsumerMethod (void) override
 解構此物件
 
template<typename T >
 operator const Consumer< T > & (void) const
 Consumer 常量型轉換運算子
 
template<typename T >
 operator Consumer< T > & (void)
 轉換為 Consumer<T> 引用的運算子
 
virtual void accept (Interface &t) override
 實現 Consumer 介面的 accept 方法
 
- 公開方法(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::Consumer< T >
virtual void accept (T &t) override
 對給定的參數執行操作
 

詳細描述

消費者方法包裝類,將類別方法轉換為標準 Consumer 介面

ConsumerMethod 類提供方法引用機制,將類別成員方法包裝為 Consumer 介面。 透過記錄物件實例與方法指針,允許以統一方式調用不同類別的方法。 實現了策略模式與命令模式,使物件方法能在函數式架構中靈活使用。

1.0.0

建構子與解構子說明文件

◆ ConsumerMethod() [1/2]

template<typename T = Interface, typename C = Interface>
ufm::func::ConsumerMethod::ConsumerMethod ( Interface & c,
void(C::* method )(T &) )
inline

構造一個新的 ConsumerMethod 物件

將特定物件方法封裝為 Consumer 介面實現,建立方法引用。 透過型別轉換技術,實現跨類型方法的統一調用介面。 支援泛型編程,增強代碼的重用性與靈活性。

樣版參數
T方法參數型別,預設為 Interface
C物件類型,預設為 Interface
參數
c目標物件的引用
method要調用的成員方法指針

◆ ConsumerMethod() [2/2]

template<typename T = Interface>
ufm::func::ConsumerMethod::ConsumerMethod ( Consumer< T > & consumer)
inline

從現有 Consumer 物件構造新的 ConsumerMethod 物件

將現有 Consumer 轉換為 ConsumerMethod,實現轉接器功能。 此建構方法提高了 Consumer 實現類之間的互操作性, 使各種 Consumer 實現能夠在需要 ConsumerMethod 的上下文中使用。

樣版參數
TConsumer 參數型別,預設為 Interface
參數
consumer被包裝的 Consumer 物件

◆ ~ConsumerMethod()

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

解構此物件

釋放 ConsumerMethod 物件所佔用的資源,並完成必要的清理工作。 當物件不再需要時,此解構子將被自動呼叫。

函式成員說明文件

◆ accept()

virtual void ufm::func::ConsumerMethod::accept ( Interface & t)
overridevirtual

實現 Consumer 介面的 accept 方法

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

參數
t傳遞給目標方法的參數

◆ operator const Consumer< T > &()

template<typename T >
ufm::func::ConsumerMethod::operator const Consumer< T > & ( void ) const
inline

Consumer 常量型轉換運算子

將當前物件轉換為常量型 Consumer<T> 引用, 實現了型別安全的向下轉換機制,使泛型消費者方法能作為特定型別消費者使用。 此運算子使物件能以唯讀方式被用作任何 Consumer<T> 型別的引用。

樣版參數
T目標 Consumer 轉換的參數型別
傳回值
const Consumer<T>& 轉換後的常量 Consumer<T> 引用

◆ operator Consumer< T > &()

template<typename T >
ufm::func::ConsumerMethod::operator Consumer< T > & ( void )
inline

轉換為 Consumer<T> 引用的運算子

提供型別安全的向下轉換機制,使泛型消費者方法能作為特定型別消費者使用。 實現了多態性,同時提供完整操作權限。 支援泛型編程模式,增強類型系統的靈活性。

樣版參數
T目標 Consumer 轉換的參數型別
傳回值
Consumer<T>& 轉換後的 Consumer<T> 引用

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