1 #ifndef BOOLEANEVALUATOR_H_
2 #define BOOLEANEVALUATOR_H_
11 using Function = std::function<bool(const std::string &, const std::string *)>;
16 std::vector<std::string> var_stack;
17 std::vector<unsigned char> value_stack;
18 std::vector<char> op_stack;
22 BooleanEvaluator(const Function &, bool = true);
24 bool evaluate(const std::string &);
28 void collapse(unsigned);
29 unsigned precedence(char);