30 template<
typename TYPE>
38 virtual bool match(
const TYPE& t)
const;
67 template<
typename TYPE>
76 bool match(
const TYPE& t)
const override;
99 template<
typename TYPE>
108 bool match(
const TYPE& t)
const override;
131 template<
typename TYPE>
140 bool match(
const TYPE& t)
const override;
163 template<
typename TYPE>
172 bool match(
const TYPE& t)
const override;
195 template<
typename TYPE>
204 bool match(
const TYPE& t)
const override;
227 template<
typename TYPE>
236 bool match(
const TYPE& t)
const override;
259 template<
typename TYPE>
269 bool match(
const TYPE& t)
const override;
277 explicit rangeFilter(
const TYPE& low,
const TYPE& high);
288 template<
typename TYPE>
293 template <
typename TYPE>
299 template<
typename TYPE>
301 return this->
match(t);
304 template<
typename TYPE>
305 bool original::equalFilter<TYPE>::match(
const TYPE& t)
const {
309 template<
typename TYPE>
313 template <
typename TYPE>
319 template<
typename TYPE>
320 bool original::notEqualFilter<TYPE>::match(
const TYPE& t)
const {
324 template<
typename TYPE>
328 template <
typename TYPE>
334 template<
typename TYPE>
335 bool original::lessFilter<TYPE>::match(
const TYPE& t)
const {
339 template<
typename TYPE>
343 template <
typename TYPE>
349 template<
typename TYPE>
350 bool original::greaterFilter<TYPE>::match(
const TYPE& t)
const {
354 template<
typename TYPE>
358 template <
typename TYPE>
364 template<
typename TYPE>
365 bool original::notLessFilter<TYPE>::match(
const TYPE& t)
const {
369 template<
typename TYPE>
373 template <
typename TYPE>
379 template<
typename TYPE>
380 bool original::notGreaterFilter<TYPE>::match(
const TYPE& t)
const {
384 template<
typename TYPE>
388 template <
typename TYPE>
394 template<
typename TYPE>
395 bool original::rangeFilter<TYPE>::match(
const TYPE& t)
const {
396 return t >= low && t <= high;
399 template<
typename TYPE>
401 : low(low), high(high) {}
403 template <
typename TYPE>
cloneable()=default
Default constructor for cloneable.
equalFilter(const TYPE &target)
Constructs an equalFilter with the target value.
Definition filter.h:310
equalFilter * clone() const override
Clones the equalFilter object.
Definition filter.h:314
Base class for filter operations.
Definition filter.h:31
bool operator()(const TYPE &t) const
Applies the filter to the element.
Definition filter.h:300
~filter() override=default
Virtual destructor for the filter class.
filter * clone() const override
Clones the filter object.
Definition filter.h:294
virtual bool match(const TYPE &t) const
Determines if an element matches the filter condition.
Definition filter.h:289
greaterFilter * clone() const override
Clones the greaterFilter object.
Definition filter.h:359
greaterFilter(const TYPE &high)
Constructs a greaterFilter with the target value.
Definition filter.h:355
lessFilter * clone() const override
Clones the lessFilter object.
Definition filter.h:344
lessFilter(const TYPE &low)
Constructs a lessFilter with the target value.
Definition filter.h:340
notEqualFilter * clone() const override
Clones the notEqualFilter object.
Definition filter.h:329
notEqualFilter(const TYPE &target)
Constructs a notEqualFilter with the target value.
Definition filter.h:325
notGreaterFilter * clone() const override
Clones the notGreaterFilter object.
Definition filter.h:389
notGreaterFilter(const TYPE &low)
Constructs a notGreaterFilter with the target value.
Definition filter.h:385
notLessFilter(const TYPE &high)
Constructs a notLessFilter with the target value.
Definition filter.h:370
notLessFilter * clone() const override
Clones the notLessFilter object.
Definition filter.h:374
rangeFilter(const TYPE &low, const TYPE &high)
Constructs a rangeFilter with the specified range.
Definition filter.h:400
rangeFilter * clone() const override
Clones the rangeFilter object.
Definition filter.h:404
Abstract base class for cloneable objects.
Main namespace for the project Original.
Definition algorithms.h:21