Namespaces
Variants

std::experimental:: function

From cppreference.net
定義済みヘッダー <experimental/functional>
template < class >
class function ; /* undefined */
(library fundamentals TS)
template < class R, class ... Args >
class function < R ( Args... ) >
(library fundamentals TS)

std::experimental::function は、 std::function の修正版であり、型消去アロケータをサポートしています。

目次

メンバー型

定義
allocator_type

std::experimental::erased_type

(library fundamentals TS)
(until library fundamentals TS v3)

std:: pmr :: polymorphic_allocator <>

(library fundamentals TS v3)

メンバー関数

新しい std::experimental::function インスタンスを構築する
(公開メンバ関数)
新しいターゲットを代入する
(公開メンバ関数)
内容を交換する
(公開メンバ関数)
(library fundamentals TS v3で削除)
このオブジェクトがメモリを割り当てるために使用するメモリリソースへのポインタを取得する
(公開メンバ関数)
(library fundamentals TS v3)
このオブジェクトがメモリを割り当てるために使用する型消去された std::pmr::polymorphic_allocator を取得する
(公開メンバ関数)

非メンバー関数

swap アルゴリズムを特殊化する
(関数テンプレート)
(ライブラリ基盤 TS v3 で削除)
std::experimental::function nullptr を比較する
(関数テンプレート)

ヘルパークラス

(ライブラリ fundamentals TS v3 で削除)
std::uses_allocator 型特性を特殊化
(クラステンプレートの特殊化)

std::functionと同一のメンバー

メンバー型

定義
result_type R
Library Fundamental TS v3で削除されたメンバー型
argument_type T ただし sizeof... ( Args ) == 1 かつ T Args... の最初で唯一の型である場合
first_argument_type T1 ただし sizeof... ( Args ) == 2 かつ T1 Args... の2つの型の最初の型である場合
second_argument_type T2 ただし sizeof... ( Args ) == 2 かつ T2 Args... の2つの型の2番目の型である場合

メンバー型 argument_type first_argument_type second_argument_type は削除されました。対応する std::function のメンバー型がC++20で削除されたためです。

(library fundamentals 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...)> の公開メンバー関数)