Udostępnij za pośrednictwem


<functional>

Definiuje standardowy szablon biblioteki (STL) funkcje, które pomagają skonstruować obiekty function, znane również jako funktorów – i ich spoiwa.Obiekt funkcji jest obiektem typu, który definiuje operator().Obiekt funkcji może być wskaźnik funkcji, ale bardziej zwykle obiekt jest używany do przechowywania dodatkowych informacji, które można uzyskać dostęp podczas wywołania funkcji.

#include <functional>

Uwagi

Algorytmy wymagają dwa typy obiektów funkcji: jednoargumentowe i binarny.Jednoargumentowy funkcji obiektów wymaga jednego argumentu i obiekty binarne funkcja wymaga dwóch argumentów.Obiekt funkcji i wskaźników funkcji mogą być przekazywane jako predykatu algorytmu, ale funkcja obiekty są również dostosowywalne i zwiększenia zakresu, elastyczności i skuteczności STL.Jeśli na przykład wartość potrzebne związanie funkcji przed przesłaniem do algorytmu, następnie wskaźnik funkcji nie można użyć.Funkcja adapterów przekonwertować wskaźników funkcji na obiekty dające funkcji, które może być powiązana z wartością.Nagłówek <functional> zawiera także adapterów funkcji Członkowskie zezwalające na funkcje składowe określany jako obiekty dające funkcji.Funkcje są przeszkolonej, jeśli mają one deklaracji typu zagnieżdżonego, określając ich argument i zwracanych typów.C++ Standard wymaga, aby ten zdolności adaptacyjnych jest wykonywane przez wszystkie klasy obiektu dziedziczą z klasy podstawowe unary_function lub binary_function.Funkcja obiektów i ich adaptery umożliwiają STL uaktualnić istniejące aplikacje i pomóc zintegrować STL środowisko programowania C++.

Rozszerzenia TR1

W implementacji języka Visual C++ tr1 dodaje się następujące funkcje:

  • A wywołania podpisu jest nazwą następuje lista rozdzielanych przecinkami posługujemy zero lub więcej typów argument typ zwracany.

  • A wywołania otoki jest obiektem typu otoki wywołania.

  • A Typ otoki transmisji jest typem, który posiada wpłacone obiektu i obsługuje operację wywołania, która przesyła dalej do tego obiektu.

  • A wpłacone obiektu jest obiektem typu żądanie.

  • A wpłacone typu jest wskaźnik do funkcji, wskaźnik do funkcji składowej, wskaźnik do danych lub typu klasy, w których obiekty można wyświetlane natychmiast po lewej stronie operatora wywołania funkcji.

  • A obiekt docelowy jest obiektem wpłacone posiadaniu obiektu otoki wywołania.

Pseudo-function INVOKE(f, t1, t2, ..., tN) oznacza jedną z następujących czynności:

  • (t1.*f)(t2, ..., tN)gdy f jest wskaźnik do funkcji składowej klasy T i t1 jest obiektem typu T lub odwołanie do obiektu typu T lub odwołanie do obiektu typu uzyskanych z T.

  • ((*t1).*f)(t2, ..., tN)gdy f jest wskaźnik do funkcji składowej klasy T i t1 nie jest jednym z rodzajów opisanych w poprzedniej pozycji.

  • t1.*fgdy f jest wskaźnik do danych klasy T i t1 jest obiektem typu T lub odwołanie do obiektu typu T lub odwołanie do obiektu typu uzyskanych z T.

  • (*t1).*fgdy f jest wskaźnik do danych klasy klasy T i t1 nie jest jednym z rodzajów opisanych w poprzedniej pozycji.

  • f(t1, t2, ..., tN)w pozostałych przypadkach.

Pseudo-function INVOKE(f, t1, t2, ..., tN, R) oznacza INVOKE(f, t1, t2, ..., tN) niejawnie konwertowane na R.

Jeśli otoki wywołanie Typ słabych wyników, typ jej typ członka result_type jest na podstawie typu T obiektu docelowego z otoką, w następujący sposób:

  • Jeśli T jest wskaźnik do funkcji result_type jest synonimem zwracany typ T.

  • Jeśli T jest wskaźnik do funkcji składowej result_type jest synonimem zwracany typ T.

  • Jeśli T jest wskaźnik do elementu danych, result_type jest synonimem dla deklarowanych typu elementu danych.

  • Jeśli T jest typu klasy, która ma typ członka result_type, następnie result_type jest synonimem T::result_type.

  • W przeciwnym wypadku nie istnieje żaden członek nie result_type.

Każdy otoki wywołanie ma konstruktora kopii.A otoki proste wywołanie jest otoką wywołanie, że operator i którego Konstruktor kopiujący i operator przypisania nie generują wyjątki przydziału.A przekazywanie otoki wywołanie jest otoką wywołanie, który można wywołać przy użyciu listy argumentów t1, t2, ..., tN, gdzie każdy ti jest lvalue.

Otok wywołanie zdefiniowane w ten nagłówek obsługi funkcji wywołania operatorów, którzy mają argumenty typów T1, T2, ..., TN, gdzie 0 <= N <= NMAX.W tej implementacji wartość NMAX wynosi 10.

169de7b0.collapse_all(pl-pl,VS.110).gifKlasy

bad_function_call

Klasa, która opisuje wyjątek, aby wskazać, że wywołanie operator() na funkcji obiektu nie powiodło się, ponieważ obiekt był pusty.

binary_negate

Klasa szablonu, zapewniając funkcji składowej, który neguje wartość zwracaną przez funkcję binarny.

binder1st

Klasa szablonu dostarczanie konstruktora, który konwertuje obiekt binarny funkcji obiekt funkcji jednoargumentowe wiążąc pierwszy argument funkcji binarne określonej wartości.

binder2nd

Klasa szablonu dostarczanie konstruktora, który konwertuje obiekt binarny funkcji obiekt funkcji jednoargumentowe wiążąc drugiego argumentu funkcja binarne określonej wartości.

const_mem_fun_ref_t

Klasa karta umożliwiająca funkcję Członkowskie const nie przyjmuje żadnych argumentów, określany jako obiekt funkcji jednoargumentowe, gdy inicjowany jako argumentu.

const_mem_fun_t

Klasa karty, która umożliwia const funkcji składowej, który nie przyjmuje żadnych argumentów, określany jako obiekt funkcji jednoargumentowe podczas inicjowania z argumentem wskaźnika.

const_mem_fun1_ref_t

Klasa karty, która umożliwia const funkcji składowej, który pobiera jeden argument, określany jako obiekt binarny funkcji inicjowany jako argumentu.

const_mem_fun1_t

Klasa karty, która umożliwia const funkcji składowej, który pobiera jeden argument, określany jako obiekt binarny funkcji zainicjowana z argumentem wskaźnika.

Funkcja

Klasa, która otacza obiekt wpłacone.

hash

Klasa, która oblicza kod wartość mieszania.

is_bind_expression

Klasa, która testuje określonego typu wygenerowany przez wywołanie bind.

is_placeholder

Klasa, która testów, jeśli określony typ jest symbolem zastępczym.

mem_fun_ref_t

Klasa karty, która umożliwia non_const Członkowskich funkcji, która nie przyjmuje żadnych argumentów, określany jako obiekt funkcji jednoargumentowe, gdy inicjowany jako argumentu.

mem_fun_t

Klasa karty, która umożliwia non_const Członkowskich funkcji, która nie przyjmuje żadnych argumentów, określany jako obiekt funkcji jednoargumentowe podczas inicjowania z argumentem wskaźnika.

mem_fun1_ref_t

Klasa karty, która umożliwia non_const Członkowskich funkcji, która pobiera jeden argument, określany jako obiekt binarny funkcji inicjowany jako argumentu.

mem_fun1_t

Klasa karty, która umożliwia non_const Członkowskich funkcji, która pobiera jeden argument, określany jako obiekt binarny funkcji zainicjowana z argumentem wskaźnika.

pointer_to_binary_function

Wskaźnik binarny funkcji konwertuje przeszkolonej funkcji binarny.

pointer_to_unary_function

Konwertuje funkcję przeszkolonej jednoargumentowe wskaźnik funkcji jednoargumentowe.

reference_wrapper

Klasa, która otacza odwołanie.

result_of

Struct, przechowującą zwracany typ obiektu wpłacone zawinięty.

unary_negate

Dostarczanie funkcji składowej, który neguje wartość zwracana funkcji jednoargumentowe określonej klasy szablonu.

169de7b0.collapse_all(pl-pl,VS.110).gifFunkcje

Wiązanie

Wiąże obiekt wpłacone argumentów.

bind1st

Funkcja szablonu pomocnika, która tworzy adaptera, aby przekonwertować obiekt binarny funkcji obiekt funkcji jednoargumentowe wiążąc pierwszy argument funkcji binarne określonej wartości.

bind2nd

Funkcja szablonu pomocnika, która tworzy adaptera, aby przekonwertować obiekt binarny funkcji obiekt funkcji jednoargumentowe wiążąc drugiego argumentu funkcja binarne określonej wartości.

bit_and

Zwraca binarne i dwóch parametrów.

bit_or

Zwraca binarny lub dwóch parametrów.

bit_xor

Zwraca binarne XOR dwóch parametrów.

cref

Konstrukcje const reference_wrapper z argumentu.

mem_fn

Generuje otoki proste wywołanie.

mem_fun

Używane do konstruowania adapterów obiektu funkcji dla funkcji elementów członkowskich, gdy inicjowany z argumentów wskaźnik funkcji szablonu pomocnika.

mem_fun_ref

Funkcja szablonu pomocnika wykorzystywanych do konstruowania adapterów obiektu funkcji dla funkcji elementów członkowskich, gdy inicjowany z argumentami odniesienia.

not1

Zwraca uzupełnienie predykatu jednoelementowego.

not2

Zwraca uzupełnienie predykatu dwuelementowego.

ptr_fun

Funkcja szablonu pomocnika używane do jednoargumentowe Konwertuj i binarne funkcji wskaźniki, odpowiednio do jednoargumentowe i binarne Dostosowywalne funkcje.

REF

Konstrukcje reference_wrapper z argumentu.

Zamień

Zamienia dwóch function obiektów.

169de7b0.collapse_all(pl-pl,VS.110).gifStrukturach

binary_function

Pusty klasa podstawowa definiujący typy, które mogą być dziedziczone przez odziedziczonej klasy, która zawiera obiekt binarny funkcji.

dzieli

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który wykonuje operacji arytmetycznej podział na elementy typu określonej wartości.

equal_to

Predykatu dwuelementowego sprawdza, czy wartość określonego typu jest równa wartości innego typu.

większa

Predykatu dwuelementowego sprawdza, czy wartość określonego typu jest większa niż wartość innego typu.

greater_equal

Predykatu dwuelementowego sprawdza, czy wartość określonego typu jest większa lub równa wartości innego typu.

mniej

Predykatu dwuelementowego sprawdza, czy wartość określonego typu jest mniejsza niż wartość innego typu.

less_equal

Predykatu dwuelementowego sprawdza, czy wartość określonego typu jest mniejsza lub równa wartości innego typu.

logical_and

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który wykonuje operację logiczną połączeniu na elementy typu określoną wartość i testy na prawdę lub FAŁSZ wynik.

logical_not

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, która wykonuje operację logiczną negacji na elementy typu określoną wartość i testy na prawdę lub FAŁSZ wynik.

logical_or

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, która wykonuje operację logiczną alternatywę na elementy typu określoną wartość i testy na prawdę lub FAŁSZ wynik.

minus

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który wykonuje operacji arytmetycznej odejmowanie na elementy typu określonej wartości.

Moduł

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który wykonuje operacji arytmetycznej moduł na elementy typu określonej wartości.

Mnoży

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który wykonuje operacji arytmetycznej mnożenia na elementy typu określonej wartości.

odwrócić

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który zwraca wartość ujemną wartość elementu.

not_equal_to

Predykatu dwuelementowego sprawdza, czy wartość określonego typu nie jest równa wartości innego typu.

plus

Klasa zawiera obiekt wstępnie zdefiniowanych funkcji, który wykonuje operacji arytmetycznej dodanie elementów typu określonej wartości.

unary_function

Pusty klasa podstawowa definiujący typy, które mogą być dziedziczone przez odziedziczonej klasy, która zawiera obiekt funkcji jednoargumentowe.

169de7b0.collapse_all(pl-pl,VS.110).gifObiekty

_1

Symbole zastępcze dla wymiennych argumentów.

169de7b0.collapse_all(pl-pl,VS.110).gifOperatory

operator ==

Nie zezwala na porównanie równości wpłacone obiektów.

operator! =

Uniemożliwia porównania nierówności wpłacone obiektów.

Zobacz też

Informacje

Bezpieczeństwo wątków w standardowa biblioteka języka C++

Standardowa biblioteka szablonu

Inne zasoby

<functional> Członkowie

Pliki nagłówków