- 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;
  }
};
 Follow us!
 Follow us!
Лично для меня -- perfect enough. Но про использовать мозг все равно не забываем [2]
А знаешь, почему? Меня пугают рыжие люди.
Первая строка - вообще отпад.
https://www.srkn.ru/texts/persub_part25.shtml
Кул стори такова, что перед рефакторингом везде летали lvalue-reference. После -- появились временные обьекты.