std::experimental::function

從 cppreference.com
 
 
實驗性
技術規範
文件系統庫 (文件系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行擴展 (並行 TS)
並行擴展 2 (並行 TS v2)
並發擴展 (並發 TS)
並發擴展 2 (並發 TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函數 (特殊函數 TR)
實驗性非 TS 功能特性
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
在標頭 <experimental/functional> 定義
template< class >
class function; /* 未定義 */
(庫基礎 TS)
template< class R, class... Args >
class function<R(Args...)>
(庫基礎 TS)

std::experimental::functionstd::function 的修改版本,支持類型擦除分配器。

目錄

[編輯] 成員類型

類型 定義
allocator_type

std::experimental::erased_type

(庫基礎 TS)
(庫基礎 TS v3 前)

std::pmr::polymorphic_allocator<>

(庫基礎 TS v3)

[編輯] 成員函數

構造新的 std::experimental::function 實例
(公開成員函數) [編輯]
賦值新目標
(公開成員函數) [編輯]
交換內容
(公開成員函數) [編輯]
(庫基礎 TS v3 中移除)
獲得指向此對象用來分配內存的 memory_resource 的指針
(公開成員函數) [編輯]
(庫基礎 TS v3)
獲取此對象用以分配內存的擦除類型的 std::pmr::polymorphic_allocator
(公開成員函數) [編輯]

[編輯] 非成員函數

特化 swap 算法
(函數模板) [編輯]
(庫基礎 TS v3 中移除)
比較 std::experimental::functionnullptr
(函數模板) [編輯]

[編輯] 輔助類

特化 std::uses_allocator 類型特徵
(類模板特化) [編輯]

等同於 std::function 的成員

成員類型

類型 定義
result_type R
庫基礎 TS v3 中移除的成員類型
argument_type sizeof...(Args)==1TArgs... 中第一個並為唯一的類型則為 T
first_argument_type sizeof...(Args)==2T1Args... 中二個類型的第一個則為 T1
second_argument_type sizeof...(Args)==2T2Args... 中二個類型的第二個則為 T2

成員類型 argument_typefirst_argument_typesecond_argument_type 被移除,因為 std::function 的對應成員類型在 C++20 中亦被移除。

(庫基礎 TS v3)

成員函數

析構 std::function 實例
(std::function<R(Args...)> 的公開成員函數) [編輯]
檢查是否包含目標
(std::function<R(Args...)> 的公開成員函數) [編輯]
調用目標
(std::function<R(Args...)> 的公開成員函數) [編輯]
目標訪問
獲得所存儲目標的 typeid
(std::function<R(Args...)> 的公開成員函數) [編輯]
獲得指向所存儲目標的指針
(std::function<R(Args...)> 的公開成員函數) [編輯]