19template <
class MatchFuncArgType,
class DataFuncArgType = MatchFuncArgType,
20 bool needsConversion =
false>
22 :
public Query<MatchFuncArgType, DataFuncArgType, needsConversion> {
27 bool Match(
const DataFuncArgType what)
const override {
30 for (it1 = this->beginChildren(); it1 != this->endChildren(); ++it1) {
31 bool tmp = (*it1)->Match(what);
41 if (this->getNegation()) {
53 for (i = this->beginChildren(); i != this->endChildren(); ++i) {
Base class for all queries.
std::shared_ptr< Query< MatchFuncArgType, DataFuncArgType, needsConversion > > CHILD_TYPE
void addChild(CHILD_TYPE child)
adds a child to our list of children
void setNegation(bool what)
sets whether or not we are negated
typename CHILD_VECT::const_iterator CHILD_VECT_CI
std::string d_description
a Query implementing XOR: requires exactly one child to be true
Query< MatchFuncArgType, DataFuncArgType, needsConversion > BASE
bool Match(const DataFuncArgType what) const override
returns whether or not we match the argument
Query< MatchFuncArgType, DataFuncArgType, needsConversion > * copy() const override
returns a copy of this Query
#define RDKIT_QUERY_EXPORT