Inhaltsverzeichnis

apply()

#include <tuple>

Result apply (Func f, std::tuple<Types...> t) // C++17

Beschreibung: Ruft f als Funktion mit den Elementen eines Tupels als Argumenten auf.

Parameter

f Funktion oder Funktionsobjekt
t Tupel von Funktionsargumenten

An Stelle eines Tupels kann ein anderes Objekt eingestzt werden, auf das get<Index>(t) und std::tuple_size(t) anwendbar ist, also auch std::pair<U,V> auch array<T,N>.

Ergebnis

Rückgabewert: Ergebnis des Funktionsaufrufs f(…).

Siehe auch

get(), invoke().

Beispiel

apply.cpp
#include <array>
#include <tuple>
#include <iostream>
 
int main()
{
    auto f = [](int a, int b) { return a+b; };
 
    auto args1 = std::tuple{1,2};
    auto args2 = std::pair{3,4};
    auto args3 = std::array<int,2>{5,6};
 
    std::cout << std::apply(f, args1) << '\n'; // f(1,2)
    std::cout << std::apply(f, args2) << '\n'; // f(3,4)
    std::cout << std::apply(f, args3) << '\n'; // f(5,6)
}