Sdílet prostřednictvím


<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.

169de7b0.collapse_all(cs-cz,VS.110).gifTřídy

bad_function_call

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ý.

binary_negate

Třída šablony poskytují členské funkce, která Neguje vrácená hodnota zadaná binární funkce.

binder1st

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.

binder2nd

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.

const_mem_fun_ref_t

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.

const_mem_fun_t

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.

const_mem_fun1_ref_t

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.

const_mem_fun1_t

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.

funkce

Třída, která obtéká callable objektu.

hodnota hash

Třída, která vypočítá hodnotu hash kód.

is_bind_expression

Třída, která testuje, pokud je určitý typ generován voláním bind.

is_placeholder

Třída, která testuje, pokud je určitý typ zástupného symbolu.

mem_fun_ref_t

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.

mem_fun_t

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.

mem_fun1_ref_t

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.

mem_fun1_t

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.

pointer_to_binary_function

Převádí binární funkce ukazatel přizpůsobitelné binární funkce.

pointer_to_unary_function

Ukazatel na funkci unární převede přizpůsobitelné unární funkce.

reference_wrapper

Třída, která obtéká odkaz.

result_of

Struktura obsahující návratový typ obtékaným objektem callable.

unary_negate

Třída šablony poskytují členské funkce, která Neguje vrácená hodnota funkce zadané unární.

169de7b0.collapse_all(cs-cz,VS.110).gifFunkce

BIND

Argumenty sváže callable objektu.

bind1st

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.

bind2nd

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ě.

bit_and

Vrátí binární a dva parametry.

bit_or

Vrátí binární nebo dva parametry.

bit_xor

Vrátí binární XOR dva parametry.

cref

Konstrukce const reference_wrapper z argument.

mem_fn

Generuje wrapper jednoduché volání.

mem_fun

Pomocné funkce šablony používají k vytvoření objektu adaptéry funkce pro členské funkce při inicializaci s argumenty ukazatel.

mem_fun_ref

Funkce pomocné šablony použít ke konstrukci funkce objektu adaptéry pro členské funkce při inicializaci s argumenty odkazem.

not1

Vrátí doplňkovou unárního predikátu.

not2

Vrátí doplňkovou binárního predikátu.

ptr_fun

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.

REF

Konstrukce reference_wrapper z argument.

Zaměnit

Zamění dva function objektů.

169de7b0.collapse_all(cs-cz,VS.110).gifStruktur

binary_function

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.

rozdělí

Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci dělení prvků typu zadanou hodnotu.

equal_to

Binárního predikátu, který testuje, zda je zadaný typ hodnota rovna hodnotě jiného typu.

větší

Binárního predikátu, který testuje, zda je zadaný typ hodnotu větší než hodnota jiného typu.

greater_equal

Binárního predikátu, který testuje, zda je zadaný typ hodnota větší nebo rovna hodnotě jiného typu.

méně

Binárního predikátu, který testuje, zda je zadaný typ hodnota menší než hodnota jiného typu.

less_equal

Binárního predikátu, který testuje, zda je zadaný typ hodnota menší nebo rovna hodnotě jiného typu.

logical_and

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.

logical_not

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.

logical_or

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.

mínus

Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci odčítání prvky typu zadanou hodnotu.

MODULUS

Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci modulo prvky typu zadanou hodnotu.

Vynásobí

Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci násobení prvky typu zadanou hodnotu.

negovat

Třída poskytuje předdefinované funkce objektu, který vrátí negativní hodnotu elementu.

not_equal_to

Binárního predikátu, který testuje, zda hodnota zadaný typ není rovna hodnotě jiného typu.

Plus

Třída poskytuje předdefinované funkce objektu, který provádí aritmetickou operaci přidání prvků typu zadanou hodnotu.

unary_function

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.

169de7b0.collapse_all(cs-cz,VS.110).gifObjekty

_1

Zástupné symboly pro argumenty nahraditelné.

169de7b0.collapse_all(cs-cz,VS.110).gifOperátory

operátor ==

Zakáže rovnosti porovnání callable objektů.

operátor! =

Zakáže nerovnost porovnání callable objektů.

Viz také

Referenční dokumentace

Bezpečnostní vlákno v Standardní knihovna C++

Standardní šablona knihovny

Další zdroje

<functional> Členové

Soubory hlaviček