19 #ifndef NAF_QUERY_CONDITION
20 #define NAF_QUERY_CONDITION
23 #include "query/results.h"
24 #include "tools/output_logger.h"
31 enum class ConditionType;
32 template <
typename T>
class Condition;
37 enum class NAF::Query::ConditionType
46 using Ptr = std::shared_ptr<Condition>;
47 using Functor = std::function<bool(T)>;
49 Condition(std::string identifier, ConditionType type, Functor functor);
51 ConditionType get_type()
const {
return type_; }
52 std::string get_identifier()
const {
return identifier_; }
53 Functor& get_functor()
59 void set_identifier(std::string identifier) { identifier_ = identifier; }
60 void set_type(ConditionType type) { type_ = type; }
61 void set_functor(Functor functor) { functor_ = functor; }
63 bool VerifyCondition_(T t);
66 std::string identifier_;
72 identifier_(identifier)
Definition: condition.h:44