- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
struct ApplyFunctor {
template <typename Rules, typename ... Args>
bool operator()(const Rules &rules, Args && ... args) const {
for (const auto &rule : rules) {
if (!rule.apply(std::forward<Args>(args)...))
return false;
}
return true;
}
};
Лично для меня -- perfect enough. Но про использовать мозг все равно не забываем [2]
А знаешь, почему? Меня пугают рыжие люди.
Первая строка - вообще отпад.
https://www.srkn.ru/texts/persub_part25.shtml
Кул стори такова, что перед рефакторингом везде летали lvalue-reference. После -- появились временные обьекты.