]> git.tdb.fi Git - builder.git/blobdiff - source/booleanevaluator.h
Refactor BooleanEvaluator to have overloaded constructors
[builder.git] / source / booleanevaluator.h
index 7c2af6f1a0f9cbeb8d99d546c89d50172520e5a4..c3f61f2b543e943878465e3aea564ff87d7cf759 100644 (file)
@@ -8,10 +8,11 @@
 class BooleanEvaluator
 {
 public:
-       using Function = std::function<bool(const std::string &, const std::string *)>;
+       using ValueFunction = std::function<bool(const std::string &)>;
+       using CompareFunction = std::function<bool(const std::string &, const std::string *)>;
 
 private:
-       Function func;
+       CompareFunction func;
        std::string ops;
        std::vector<std::string> var_stack;
        std::vector<unsigned char> value_stack;
@@ -19,7 +20,8 @@ private:
        bool last_was_op;
 
 public:
-       BooleanEvaluator(const Function &, bool = true);
+       BooleanEvaluator(const ValueFunction &);
+       BooleanEvaluator(const CompareFunction &);
 
        bool evaluate(const std::string &);
 private: