Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: pekfos
Udoskonalił: Piotr DejaVu Szawdyński
Język C++

bind1st

[szablon funkcji] Tworzy funktor jednoargumentowy na podstawie funktora dwuargumentowego, poprzez wstawienie podanej wartości w miejsce pierwszego argumentu przekazanego funktora.

Składnia

C/C++
#include <functional>

namespace std
{
    template < class Operation, class T >
    binder1st < Operation > bind1st( const Operation & op, const T & x )
    {
        return binder1st < Operation >( op, typename Operation::first_argument_type( x ) );
    }
}

Parametry szablonu

ParametrOpis
class OperationTyp określający dwuargumentowy funktor.
class TTyp pierwszego argumentu przekazywanego do funktora.

Argumenty

ArgumentOpis
const Operation& opStała referencja na dwuargumentowy funktor.
const T& xWartość, która zostanie wstawiona w miejsce pierwszego argumentu funktora przekazanego do funkcji.

Zwracana wartość

Zwraca funktor jednoargumentowy, uzyskany w wyniku podstawienia argumentu x do pierwszego argumentu funktora op.

Opis szczegółowy

Funkcja tworzy funktor jednoargumentowy na podstawie funktora dwuargumentowego, poprzez wstawienie podanej wartości w miejsce pierwszego argumentu przekazanego funktora.

Przykład

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

int odejmij( int x, int y )
{
    return x - y;
}

int main()
{
    int a = 50;
    int b = 30;
    printf( "Wynik = %d\n", std::bind1st( std::minus < int >(), a )( b ) );
    printf( "Wynik = %d\n", std::bind1st( std::ptr_fun( odejmij ), a )( b ) );
    return 0;
}
Standardowe wyjście programu:
Wynik = 20
Wynik = 20

Zagadnienia powiązane

bind2ndTworzy funktor jednoargumentowy na podstawie funktora dwuargumentowego, poprzez wstawienie podanej wartości w miejsce drugiego argumentu przekazanego funktora. (szablon funkcji)

Linki zewnętrzne