<functional>
Definuje funkce standardní šablonu knihovny (STL), které pomáhají při vytváření objekty funkce, označovaný také jako functors a jejich pojiva.Funkce objekt je objekt, který definuje typ operator().Funkce objektu může být ukazatel na funkci, ale více obvykle objekt slouží k uložení dalších informací, které lze získat přístup během volání funkce.
#include <functional>
Poznámky
Algoritmy vyžadují dva typy objektů funkce: unární a binární.Objekty unární funkce vyžaduje jeden argument a objekty binární funkce vyžadují dva argumenty.Funkce objektu a ukazatelů funkcí lze předat jako predikát algoritmus, ale objekty funkce jsou také přizpůsobivé a zvýšit rozsah, flexibilitu a účinnosti STL.Podle potřeby, například hodnotu funkce vázat před předáním algoritmus nelze ukazatel na funkci použít.Funkce adaptéry ukazatelů funkcí převést objekty přizpůsobitelné funkce, které mohou být vázány na hodnotu.Záhlaví <functional> obsahuje také členské funkce adaptéry, které umožňují funkce členů jako objekty přizpůsobitelné funkce volané.Funkce jsou přizpůsobitelné Pokud vnořený typ prohlášení zadáním jejich argumentu a návratové typy.C++ Standard vyžaduje, aby tato přizpůsobivost implementované s všechny standardní objekt třídy dědí ze základní třídy unary_function nebo binary_function.Funkce objektů a jejich adaptéry umožňují STL a inovace existujících aplikací a integraci STL programovací prostředí jazyka C++.
TR1 rozšíření
Visual C++ provádění TR1 jsou přidány následující funkce:
A volání podpis je název návratový typ následuje seznam oddělený čárkami v závorce nula nebo více typů argument.
A volání wrapper je objekt typu Obálka hovor.
A wrapper typ volání je typ callable objektem a podporuje volání operace, která předá objekt.
A callable objektu je objekt callable typu.
A callable typu je ukazatel na funkci, ukazatel na funkci člena, ukazatel na data členů nebo typ třídy, jehož objekty se mohou zobrazit ihned vlevo provozovatele volání funkce.
A cílový objekt je objekt callable držení objekt obálky volání.
Pseudo-function INVOKE(f, t1, t2, ..., tN) znamená jednu z následujících akcí:
(t1.*f)(t2, ..., tN)Při f je ukazatel na členské funkce třídy T a t1 je objekt typu T nebo odkaz na objekt typu T nebo odkaz na objekt typu odvozené z T.
((*t1).*f)(t2, ..., tN)Při f je ukazatel na členské funkce třídy T a t1 není jedním z typů uvedených v předchozí položce.
t1.*fPři f je ukazatel na datový člen třídy T a t1 je objekt typu T nebo odkaz na objekt typu T nebo odkaz na objekt typu odvozené z T.
(*t1).*fPři f je ukazatel na data členů třídy třída T a t1 není jedním z typů uvedených v předchozí položce.
f(t1, t2, ..., tN)v ostatních případech.
Pseudo-function INVOKE(f, t1, t2, ..., tN, R) znamená INVOKE(f, t1, t2, ..., tN) implicitně převést na R.
Pokud hovor obálky slabé výsledek typu, typ člena typu result_type je založena na typu T cílového objektu obalovače takto:
Pokud T je ukazatel na funkci, result_type je synonymum pro návratový typ T.
Pokud T je ukazatel na členské funkce result_type je synonymum pro návratový typ T.
Pokud T je ukazatel na datový člen result_type je synonymum pro deklarovaný typ datový člen.
Pokud T je typ třídy, který má typ členu result_type, pak result_type je synonymum pro T::result_type.
Jinak neexistuje žádný člen result_type.
Má každý souhrnný volání konstruktoru kopie.A volání simple wrapper je volání obal obsahující přiřazení operátor a jejichž Kopírovat konstruktor a operátor přiřazení není vyvoláním výjimky.A předávání volání wrapper volání obálky, kterou lze volat pomocí seznam argumentů je t1, t2, ..., tN, kde každý ti je lvalue.
Volání obalů, definované v této hlavičce podporu funkce volání operátory argumentů typů T1, T2, ..., TN, kde 0 <= N <= NMAX.V této implementaci hodnotu NMAX 10.
Třídy
Třída, která popisuje výjimku vyvolaných označuje, zda volání operator() na funkce objektu se nezdařil, protože objekt byl prázdný. |
|
Třída šablony poskytují členské funkce, která Neguje vrácená hodnota zadaná binární funkce. |
|
Třída šablona poskytuje konstruktor, který převádí binární funkce objektu do objektu unární funkce vazbou zadanou hodnotu v prvním argumentu binární funkce. |
|
Třída šablona poskytuje konstruktor, který převádí binární funkce objektu do objektu unární funkce vazbou druhého argumentu binární funkce zadanou hodnotu. |
|
Třída adaptér umožňuje const členské funkce, která nevyžaduje žádné argumenty, které se nazývají jako unární funkce objektu při inicializaci s argumentem odkaz. |
|
Třída adaptér umožňuje const členské funkce, která nevyžaduje žádné argumenty, které se nazývají jako unární funkce objektu při inicializaci s argumentem ukazatel. |
|
Třída adaptér umožňuje const členské funkce, která převezme jediný argument, který se nazývá jako binární funkce objektu při inicializaci s argumentem odkaz. |
|
Třída adaptér umožňuje const členské funkce, která převezme jediný argument, který se nazývá jako binární funkce objektu při inicializaci s argumentem ukazatel. |
|
Třída, která obtéká callable objektu. |
|
Třída, která vypočítá hodnotu hash kód. |
|
Třída, která testuje, pokud je určitý typ generován voláním bind. |
|
Třída, která testuje, pokud je určitý typ zástupného symbolu. |
|
Třída adaptéru, která umožňuje non_const členské funkce nevyžaduje žádné argumenty, které se nazývají jako unární funkce objektu při inicializaci s argumentem odkaz. |
|
Třída adaptéru, která umožňuje non_const členské funkce nevyžaduje žádné argumenty, které se nazývají jako unární funkce objektu při inicializaci s argumentem ukazatel. |
|
Třída adaptéru, která umožňuje non_const členské funkce, která převezme jediný argument, který se nazývá jako binární funkce objektu při inicializaci s argumentem odkaz. |
|
Třída adaptéru, která umožňuje non_const členské funkce, která převezme jediný argument, který se nazývá jako binární funkce objektu při inicializaci s argumentem ukazatel. |
|
Převádí binární funkce ukazatel přizpůsobitelné binární funkce. |
|
Ukazatel na funkci unární převede přizpůsobitelné unární funkce. |
|
Třída, která obtéká odkaz. |
|
Struktura obsahující návratový typ obtékaným objektem callable. |
|
Třída šablony poskytují členské funkce, která Neguje vrácená hodnota funkce zadané unární. |
Funkce
Argumenty sváže callable objektu. |
|
Pomocné funkce šablony, která vytváří adaptér funkce binární objekt převést na objekt funkce unární vazbou zadanou hodnotu v prvním argumentu binární funkce. |
|
Pomocná funkce šablony v vytvoří adaptér funkce binární objekt převést objekt funkce unární vazbou druhého argumentu binární funkce zadané hodnotě. |
|
Vrátí binární a dva parametry. |
|
Vrátí binární nebo dva parametry. |
|
Vrátí binární XOR dva parametry. |
|
Konstrukce const reference_wrapper z argument. |
|
Generuje wrapper jednoduché volání. |
|
Pomocné funkce šablony používají k vytvoření objektu adaptéry funkce pro členské funkce při inicializaci s argumenty ukazatel. |
|
Funkce pomocné šablony použít ke konstrukci funkce objektu adaptéry pro členské funkce při inicializaci s argumenty odkazem. |
|
Vrátí doplňkovou unárního predikátu. |
|
Vrátí doplňkovou binárního predikátu. |
|
Pomocná funkce šablony lze převést unárních a binárních funkce ukazatele, respektive do unárních a binárních přizpůsobitelné funkce. |
|
Konstrukce reference_wrapper z argument. |
|
Zamění dva function objektů. |
Struktur
Prázdný základní třída definující typy, které mohou být děděny odvozené třídy, která obsahuje binární funkce objektu. |
|
Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci dělení prvků typu zadanou hodnotu. |
|
Binárního predikátu, který testuje, zda je zadaný typ hodnota rovna hodnotě jiného typu. |
|
Binárního predikátu, který testuje, zda je zadaný typ hodnotu větší než hodnota jiného typu. |
|
Binárního predikátu, který testuje, zda je zadaný typ hodnota větší nebo rovna hodnotě jiného typu. |
|
Binárního predikátu, který testuje, zda je zadaný typ hodnota menší než hodnota jiného typu. |
|
Binárního predikátu, který testuje, zda je zadaný typ hodnota menší nebo rovna hodnotě jiného typu. |
|
Třída poskytuje předdefinované funkce objektu, který provádí logické operace spojení prvků typu zadanou hodnotu a testy pro pravdy nebo falsity výsledek. |
|
Třída poskytuje předdefinované funkce objektu, který provádí logické operace negace elementy typu zadanou hodnotu a testy pro pravdy nebo falsity výsledek. |
|
Třída poskytuje předdefinované funkce objektu, který provádí logické operace součet prvků typu zadanou hodnotu a testy pro pravdy nebo falsity výsledek. |
|
Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci odčítání prvky typu zadanou hodnotu. |
|
Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci modulo prvky typu zadanou hodnotu. |
|
Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci násobení prvky typu zadanou hodnotu. |
|
Třída poskytuje předdefinované funkce objektu, který vrátí negativní hodnotu elementu. |
|
Binárního predikátu, který testuje, zda hodnota zadaný typ není rovna hodnotě jiného typu. |
|
Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci přidání prvků typu zadanou hodnotu. |
|
Prázdný základní třída definující typy, které mohou být děděny odvozené třídy, která obsahuje objekt unární funkce. |
Objekty
Zástupné symboly pro argumenty nahraditelné. |
Operátory
Zakáže rovnosti porovnání callable objektů. |
|
Zakáže nerovnost porovnání callable objektů. |
Viz také
Referenční dokumentace
Bezpečnostní vlákno v Standardní knihovna C++