X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbooleanevaluator.h;h=c3f61f2b543e943878465e3aea564ff87d7cf759;hb=302977793935e100a5bf37822836531cafb03bf3;hp=08ed432665bd48fd6822e2215b53b3adc2d3d6ca;hpb=02097e6a1ddbffbc2217005c3c2ebba528f5248f;p=builder.git diff --git a/source/booleanevaluator.h b/source/booleanevaluator.h index 08ed432..c3f61f2 100644 --- a/source/booleanevaluator.h +++ b/source/booleanevaluator.h @@ -1,17 +1,18 @@ #ifndef BOOLEANEVALUATOR_H_ #define BOOLEANEVALUATOR_H_ +#include #include #include -#include class BooleanEvaluator { public: - typedef sigc::slot Slot; + using ValueFunction = std::function; + using CompareFunction = std::function; private: - Slot slot; + CompareFunction func; std::string ops; std::vector var_stack; std::vector value_stack; @@ -19,7 +20,8 @@ private: bool last_was_op; public: - BooleanEvaluator(const Slot &, bool = true); + BooleanEvaluator(const ValueFunction &); + BooleanEvaluator(const CompareFunction &); bool evaluate(const std::string &); private: