22#ifndef OPENSWMM_MATHEXPR_HPP
23#define OPENSWMM_MATHEXPR_HPP
105 const std::function<
double(
const std::string&)>& var_lookup);
int parse(const std::string &expr_str, Expression &result)
Parse an infix expression string into a postfix Expression.
Definition MathExpr.cpp:128
TokenType
Definition MathExpr.hpp:36
double evaluate(const Expression &expr, const std::function< double(const std::string &)> &var_lookup)
Evaluate a compiled expression with named variable lookup.
Definition MathExpr.cpp:183
Definition Controls.cpp:24
Definition MathExpr.hpp:75
std::vector< Token > postfix
Postfix (RPN) token sequence.
Definition MathExpr.hpp:76
bool valid
Definition MathExpr.hpp:77
Definition MathExpr.hpp:64
TokenType type
Definition MathExpr.hpp:65
std::string var_name
For VARIABLE tokens (name for lookup)
Definition MathExpr.hpp:68
int var_idx
For VARIABLE tokens (index into variable table)
Definition MathExpr.hpp:67
double value
For NUMBER tokens.
Definition MathExpr.hpp:66