| 120 | return expr->generate(new_context); |
| 121 | } |
| 122 | std::string str() const override { |
| 123 | auto result = "["s; |
| 124 | for (auto const& var : variables) { |
| 125 | result += var.first + "="s + var.second->str() + ","s; |
| 126 | } |
| 127 | result += "]("s + expr->str() + ")"s; |
| 128 | return result; |
| 129 | } |
| 130 | |
| 131 | private: |
| 132 | variable_list variables; ///< A list of context variables to modify |