| 177 | }; |
| 178 | |
| 179 | class unary_operator_expr |
| 180 | { |
| 181 | public: |
| 182 | unary_operator_expr(expr&& operand, nd::unary_operator_type type); |
| 183 | |
| 184 | const expr& get_operand() const; |
| 185 | |
| 186 | nd::unary_operator_type get_type() const |
| 187 | { |
| 188 | return type; |
| 189 | } |
| 190 | |
| 191 | std::string to_string() const; |
| 192 | |
| 193 | private: |
| 194 | std::shared_ptr<expr> operand; |
| 195 | nd::unary_operator_type type; |
| 196 | }; |
| 197 | |
| 198 | class binary_operator_expr |
| 199 | { |