Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: pekfos
Język C++

not2

[szablon funkcji] Zwraca obiekt funkcyjny opakowujący dwuargumentowy predykat i negujący jego wartość zwracaną.

Składnia

C/C++
#include <functional>
namespace std {
    template < class Predicate >
    binary_negate < Predicate > not2( const Predicate & pred )
    {
        return binary_negate < Predicate >( pred );
    }
}

Parametry szablonu

ParametrOpis
PredicateTyp predykatu który będzie opakowywany przez obiekt funkcyjny.

Opis szczegółowy

Funkcja tworzy obiekt funkcyjny opakowujący dwuargumentowy predykat. Przy wywołaniu, obiekt funkcyjny pobiera dwa argumenty, wywołuje z tymi argumentami predykat i zwraca zanegowaną wartość zwróconą przez predykat.
Predykat musi dziedziczyć po
std::binary_function
 lub zawierać typy składowe
first_argument_type
 i
second_argument_type

Przykład

C/C++
#include <iostream>
#include <functional>

struct alwaystrue
    : std::binary_function < int, int, bool >
{
    bool operator ()( const int &, const int & ) const {
        return true;
    }
};

int main() {
    std::cout << std::not2( alwaystrue() )( 42, 32 );
}
Standardowe wyjście programu
0

Zagadnienia powiązane

not1Zwraca obiekt funkcyjny opakowujący jednoargumentowy predykat i negujący jego wartość zwracaną. (szablon funkcji)

Linki zewnętrzne