49 value = filter_function();
52 Filter(
const std::string&
name, std::function<
bool()> filter_function,
const std::string& impl=
"")
54 filter_function(GenFunction::register_function<
bool()>(
"filter::"+
name, filter_function, impl)){ }
60 auto new_name = this->get_name() +
"&&" + f->get_name();
68 auto new_name = this->get_name() +
"||" + f->get_name();
75 auto new_name = std::string(
"!(") + this->get_name() + std::string(
")");
85 Filter(name, [test_value, range_low, range_high]{
87 return (val >= range_low) && (val < range_high);
bool & get_value()
Definition: value.hpp:372
std::string name
The name of the value.
Definition: value.hpp:191
Definition: filter.hpp:44
The namespace containing all filval classes and functions.
Filter * operator+(Filter *f)
Return a new filter that is the disjunction of the two source filters.
Definition: filter.hpp:67
A generic value.
Definition: value.hpp:299
Definition: filter.hpp:81
A generic, derived, value.
Definition: value.hpp:349
Filter * operator*(Filter *f)
Return a new filter that is the conjuction of the two source filters.
Definition: filter.hpp:59
void update_value()
Updates the internal value.
Definition: filter.hpp:48
Filter * operator!()
Return a new filter that is the negation of the source filter.
Definition: filter.hpp:74
virtual T & get_value()=0
Calculate, if necessary, and return the value held by this object.