| 697 | : evaluatables_(std::move(e)) |
| 698 | {} |
| 699 | double evaluate() override |
| 700 | { |
| 701 | double result = 1; |
| 702 | for (const auto& e : evaluatables_) { |
| 703 | result *= e->evaluate(); |
| 704 | } |
| 705 | return result; |
| 706 | } |
| 707 | std::vector<std::unique_ptr<evaluatable>> evaluatables_; |
| 708 | }; |
| 709 | constexpr bp::rule<struct mult_tag, std::unique_ptr<evaluatable>> mult_parser = "mult_parser"; |