11#ifndef RD_GREATEREQUALQUERY_H
12#define RD_GREATEREQUALQUERY_H
19template <
class MatchFuncArgType,
class DataFuncArgType = MatchFuncArgType,
20 bool needsConversion =
false>
22 :
public EqualityQuery<MatchFuncArgType, DataFuncArgType, needsConversion> {
29 this->df_negate =
false;
35 this->df_negate =
false;
38 bool Match(
const DataFuncArgType what)
const override {
39 MatchFuncArgType mfArg =
41 if (
queryCmp(this->d_val, mfArg, this->d_tol) >= 0) {
42 return !this->getNegation();
44 return this->getNegation();
62 std::ostringstream res;
63 res << this->getDescription();
64 res <<
" " << this->d_val;
65 if (this->getNegation()) {
a Query implementing ==: arguments must match a particular value (within an optional tolerance)
void setTol(MatchFuncArgType what)
sets our tolerance
void setVal(MatchFuncArgType what)
sets our target value
a Query implementing >= using a particular value (and an optional tolerance)
bool Match(const DataFuncArgType what) const override
returns whether or not we match the argument
std::string getFullDescription() const override
returns a fuller text description
GreaterEqualQuery(DataFuncArgType what)
constructs with our target value
GreaterEqualQuery(DataFuncArgType v, DataFuncArgType t)
constructs with our target value and a tolerance
Query< MatchFuncArgType, DataFuncArgType, needsConversion > * copy() const override
returns a copy of this Query
class to allow integer values to pick templates
Base class for all queries.
void setDataFunc(MatchFuncArgType(*what)(DataFuncArgType))
sets our data function
void setNegation(bool what)
sets whether or not we are negated
std::string d_description
#define RDKIT_QUERY_EXPORT
int queryCmp(const T1 v1, const T2 v2, const T1 tol)