#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.
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>
.
Rückgabewert: Ergebnis des Funktionsaufrufs f(…).
#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) }