X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbooleanevaluator.h;h=08ed432665bd48fd6822e2215b53b3adc2d3d6ca;hb=HEAD;hp=c3f61f2b543e943878465e3aea564ff87d7cf759;hpb=44c71b05ff282b3ce5a2d71c0f14eed97bfefea6;p=builder.git diff --git a/source/booleanevaluator.h b/source/booleanevaluator.h deleted file mode 100644 index c3f61f2..0000000 --- a/source/booleanevaluator.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef BOOLEANEVALUATOR_H_ -#define BOOLEANEVALUATOR_H_ - -#include -#include -#include - -class BooleanEvaluator -{ -public: - using ValueFunction = std::function; - using CompareFunction = std::function; - -private: - CompareFunction func; - std::string ops; - std::vector var_stack; - std::vector value_stack; - std::vector op_stack; - bool last_was_op; - -public: - BooleanEvaluator(const ValueFunction &); - BooleanEvaluator(const CompareFunction &); - - bool evaluate(const std::string &); -private: - void push_op(char); - bool pop_value(); - void collapse(unsigned); - unsigned precedence(char); - bool is_unary(char); - bool is_logic(char); -}; - -#endif