Wpis z mikrobloga

template

void foo(F f, A&&... args) {

(void)(int[]) { (f(std::forward(args)),0)... };

}


@japer: @Ginden: przecież jest ok, normalny cpp

@dagon_666: jest to szablon funkcji, który jako argument templatki pobiera jakiś funktor (pointer na funkcje, lambdę, jakiś obiekt z przeciążonym operatorem nawiasów), a jako drugi argument listę typów argumentów do wywołania tego funktora. Jako parametr funkcji brany jest funktor przez kopię i tzw. forwarding reference na dowolną liczbę argumentów dowolnego