/** @brief Tries to evaluate the scalar value of the expression, but a variable cannot be converted to a constant and thus an error is thrown. */ numeric_type unwrap() const { throw expression_not_unwrappable_exception(); return 0; }
/** @brief Interface requirement: Evaluate to a constant. This is illegal for a function symbol */ numeric_type unwrap() const { throw expression_not_unwrappable_exception("Cannot evaluate rt_function_symbol to a number!"); }