名前空間
変種
操作

カスタマイズポイントオブジェクト (C++20以降)

From cppreference.com

[編集] 解説

名前cpoは、カスタマイズポイントオブジェクトを指します。これは、関数オブジェクトの定数かつリテラルsemiregularクラス型のオブジェクトです。説明のために、その型のcv修飾されていないバージョンを__cpo_fnと表記します。

__cpo_fnのすべてのインスタンスは等価です。同じ引数に対して異なる__cpo_fn型のインスタンスを呼び出した際の効果は、インスタンスを表す式がlvalueかrvalueか、const修飾されているか否かに関わらず等価です(ただし、volatile修飾されたインスタンスは呼び出し可能である必要はありません)。したがって、cpoは自由にコピーでき、そのコピーは相互に交換可能に使用できます。

型のセットArgs...が与えられたとき、std::declval<Args>()...が上記のcpoの引数に対する要件を満たす場合、__cpo_fnは次をモデル化します:

それ以外の場合、__cpo_fnの関数呼び出し演算子はオーバーロード解決に参加しません。

[編集] 関連項目

English 日本語 中文(简体) 中文(繁體)