Namespaces
Variants

std:: function_ref

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
Definiert im Header <functional>
template < class ... >
class function_ref ; // nicht definiert
(1) (seit C++26)
template < class R, class ... Args >

class function_ref < R ( Args... ) > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) noexcept > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) const > ;
template < class R, class ... Args >

class function_ref < R ( Args... ) const noexcept > ;
(2) (seit C++26)

Die Klassenvorlage std::function_ref ist ein nicht-besitzender Funktionswrapper. std::function_ref -Objekte können Referenzen auf Callable Ziele speichern und aufrufen - Funktionen, Lambda-Ausdrücke , Bind-Ausdrücke oder andere Funktionsobjekte, jedoch keine Zeiger auf Memberfunktionen und Zeiger auf Memberobjekte. std:: nontype kann verwendet werden, um std::function_ref durch Übergabe von Funktionszeigern, Zeigern auf Memberfunktionen und Zeigern auf Memberobjekte zu konstruieren.

std::function_ref unterstützt jede mögliche Kombination von CV-Qualifizierern (ausgenommen volatile ) und noexcept-Spezifizierern , die in seinem Template-Parameter angegeben sind.

Jede Spezialisierung von std::function_ref ist ein TriviallyCopyable -Typ, der copyable erfüllt.

Inhaltsverzeichnis

Mitgliedertypen

Mitglied Definition
BoundEntityType (privat) nicht spezifizierter TriviallyCopyable Typ, der copyable erfüllt und in der Lage ist, einen Zeiger auf Objektwert oder Zeiger auf Funktionswert zu speichern
( Nur-Darstellungs-Mitgliedstyp* )
FunctionPointerType (privat) R ( * ) ( BoundEntityType  , Args && ... ) noexcept ( noex  )

wobei noex true ist, wenn noexcept in der Funktionssignatur als Teil des Template-Parameters von std::function_ref vorhanden ist, andernfalls false
( Nur-Darstellungs-Mitgliedstyp* )

Datenmitglieder

Mitglied Definition
BoundEntityType bound-entity ein gebundenes Entitätsobjekt
( Nur zur Veranschaulichung dienendes Mitgliedsobjekt* )
FunctionPointerType thunk-ptr ein gespeicherter Funktionszeiger
( Nur zur Veranschaulichung dienendes Mitgliedsobjekt* )

Memberfunktionen

konstruiert ein neues function_ref Objekt
(öffentliche Elementfunktion)
weist einen function_ref zu
(öffentliche Elementfunktion)
ruft den gespeicherten Thunk eines function_ref auf
(öffentliche Elementfunktion)

Ableitungsleitfäden

Hinweise

Feature-Test Makro Wert Std Feature
__cpp_lib_function_ref 202306L (C++26) std::function_ref

Beispiel

Siehe auch

(C++11)
kopierbarer Wrapper für jedes kopierkonstruierbare aufrufbare Objekt
(Klassentemplate)
kopierbarer Wrapper für jedes kopierkonstruierbare aufrufbare Objekt, das Qualifier in einer gegebenen Aufrufsignatur unterstützt
(Klassentemplate)
nur-verschiebbarer Wrapper für jedes aufrufbare Objekt, das Qualifier in einer gegebenen Aufrufsignatur unterstützt
(Klassentemplate)
Wertkonstruktions-Tag
(Tag)