Re: Zero-cost метод вызвать функцию для каждого шаблонного п
От: K13 http://akvis.com
Дата: 15.10.20 07:16
Оценка: +1
#include <iostream>

template< typename FN, typename... Args >
void ForEach( FN&& fn, Args... args )
{
    (fn(std::forward<Args>(args)),...);
}

// шаблонный не функтор, а метод
struct Print { 
    template <typename Arg>
    void operator()( Arg arg ) { std::cout << std::forward<Arg>(arg)<<std::endl; }
};


int main()
{
    ForEach( [](auto x){ std::cout << x << std::endl; }, "aaa", 14, 0.34 );
    ForEach( Print{}, "bbb", 13, 0.24 );
    
    return 0;
}
Отредактировано 15.10.2020 7:47 K13 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.