mFrame
載入中...
搜尋中...
無符合項目
ufm::util::Future< R > 結構 樣版 參考文件abstract

[Interface] 非同步操作結果介面 更多...

#include <Future.h>

類別ufm::util::Future< R >的繼承圖:
ufm::io::CompletionHandler< int >

公開方法(Public Methods)

virtual bool get (R &result, int timeout) override
 獲取非同步操作的結果
 
virtual bool setWait (void) override
 設置為等待狀態
 
virtual bool waitDone (int timeout) override
 等待非同步操作完成
 
virtual void clear (void) override
 清除當前狀態和結果
 
virtual FutureStatus getStatus (void) override
 獲取當前Future的狀態
 
bool waitDone (void)
 等待非同步操作完成,無超時限制
 
bool get (R &result)
 獲取非同步操作結果,無超時限制
 
bool isDone (void)
 檢查操作是否已完成(無論成功或失敗)
 
bool isCompleted (void)
 檢查操作是否已成功完成
 
bool isFailed (void)
 檢查操作是否已失敗
 
bool isIdle (void)
 檢查操作是否處於閒置狀態
 
bool isBusy (void)
 檢查操作是否處於忙碌(等待)狀態
 
- 公開方法(Public Methods) 繼承自 ufm::io::CompletionHandler< int >
virtual void completed (int &result, void *attachment) override
 當非同步操作成功完成時呼叫
 
virtual void failed (void *attachment) override
 當非同步操作失敗時呼叫
 

詳細描述

template<typename R = int>
struct ufm::util::Future< R >

[Interface] 非同步操作結果介面

Future 提供了監控和獲取非同步操作結果的功能,可以查詢操作是否完成、 等待操作完成,以及獲取操作的結果。

樣版參數
R非同步操作結果的類型
1.0.0

函式成員說明文件

◆ clear()

template<typename R = int>
virtual void ufm::util::Future< R >::clear ( void )
pure virtual

清除當前狀態和結果

實作於 ufm::util::PFuture.

◆ get() [1/2]

template<typename R = int>
bool ufm::util::Future< R >::get ( R & result)
inline

獲取非同步操作結果,無超時限制

參數
result[out] 用於存儲結果的引用
傳回值
true 成功獲取結果
false 獲取失敗

◆ get() [2/2]

template<typename R = int>
virtual bool ufm::util::Future< R >::get ( R & result,
int timeout )
pure virtual

獲取非同步操作的結果

參數
result[out] 用於存儲結果的引用
timeout等待超時時間,0表示無限等待
傳回值
true 成功獲取結果
false 獲取失敗或超時

實作於 ufm::util::PFuture.

◆ getStatus()

template<typename R = int>
virtual FutureStatus ufm::util::Future< R >::getStatus ( void )
pure virtual

獲取當前Future的狀態

傳回值
FutureStatus 表示當前狀態的枚舉值

實作於 ufm::util::PFuture.

◆ isBusy()

template<typename R = int>
bool ufm::util::Future< R >::isBusy ( void )
inline

檢查操作是否處於忙碌(等待)狀態

傳回值
true 操作處於忙碌狀態
false 操作處於其他狀態

◆ isCompleted()

template<typename R = int>
bool ufm::util::Future< R >::isCompleted ( void )
inline

檢查操作是否已成功完成

傳回值
true 操作成功完成
false 操作未完成或失敗

◆ isDone()

template<typename R = int>
bool ufm::util::Future< R >::isDone ( void )
inline

檢查操作是否已完成(無論成功或失敗)

傳回值
true 操作已完成(成功或失敗)
false 操作尚未完成

◆ isFailed()

template<typename R = int>
bool ufm::util::Future< R >::isFailed ( void )
inline

檢查操作是否已失敗

傳回值
true 操作已失敗
false 操作未完成或已成功

◆ isIdle()

template<typename R = int>
bool ufm::util::Future< R >::isIdle ( void )
inline

檢查操作是否處於閒置狀態

傳回值
true 操作處於閒置狀態
false 操作處於其他狀態

◆ setWait()

template<typename R = int>
virtual bool ufm::util::Future< R >::setWait ( void )
pure virtual

設置為等待狀態

傳回值
true 成功設置為等待狀態
false 設置失敗

實作於 ufm::util::PFuture.

◆ waitDone() [1/2]

template<typename R = int>
virtual bool ufm::util::Future< R >::waitDone ( int timeout)
pure virtual

等待非同步操作完成

參數
timeout等待超時時間,0表示無限等待
傳回值
true 操作已完成
false 等待超時或操作未完成

實作於 ufm::util::PFuture.

◆ waitDone() [2/2]

template<typename R = int>
bool ufm::util::Future< R >::waitDone ( void )
inline

等待非同步操作完成,無超時限制

傳回值
true 操作已完成
false 操作未完成或等待失敗

此結構(structure) 文件是由下列檔案中產生: