RDKit: Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion > Class Template Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion > Class Template Reference

Base class for all queries. More...

`#include <Query.h>`

Inheritance diagram for Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >:

## Public Types
using | CHILD_TYPE
using | CHILD_VECT = std::vector<CHILD_TYPE>
using | CHILD_VECT_I = typename CHILD_VECT::iterator
using | CHILD_VECT_CI = typename CHILD_VECT::const_iterator
using | MATCH_FUNC_ARG_TYPE = MatchFuncArgType
using | DATA_FUNC_ARG_TYPE = DataFuncArgType

## Public Member Functions
| Query ()
virtual | ~Query ()
void | setNegation (bool what)
| sets whether or not we are negated
bool | getNegation () const
| returns whether or not we are negated
void | setDescription (const std::string &descr)
| sets our text description
void | setDescription (const char *descr)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const std::string & | getDescription () const
| returns our text description
virtual std::string | getFullDescription () const
| returns a fuller text description
void | setTypeLabel (const std::string &typ)
| sets our type label
void | setTypeLabel (const char *typ)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const std::string & | getTypeLabel () const
| returns our text label.
void | setMatchFunc (bool(*what)(MatchFuncArgType))
| sets our match function
void | setDataFunc (MatchFuncArgType(*what)(DataFuncArgType))
| sets our data function
void | addChild (CHILD_TYPE child)
| adds a child to our list of children
CHILD_VECT_CI | beginChildren () const
| returns an iterator for the beginning of our child vector
CHILD_VECT_CI | endChildren () const
| returns an iterator for the end of our child vector
virtual bool | Match (const DataFuncArgType arg) const
| returns whether or not we match the argument
virtual Query< MatchFuncArgType, DataFuncArgType, needsConversion > * | copy () const
| returns a copy of this Query

## Public Attributes
bool(*)(MatchFuncArgType) | getMatchFunc () const
| returns our match function:
MatchFuncArgType(*)(DataFuncArgType) | getDataFunc () const
| returns our data function:

## Protected Member Functions
MatchFuncArgType | TypeConvert (MatchFuncArgType what, Int2Type< false >) const
| calls our `dataFunc` (if it's set) on `what` and returns the result, otherwise returns `what`
MatchFuncArgType | TypeConvert (DataFuncArgType what, Int2Type< true >) const

## Protected Attributes
MatchFuncArgType | d_val = 0
MatchFuncArgType | d_tol = 0
std::string | d_description = ""
std::string | d_queryType = ""
CHILD_VECT | d_children
bool | df_negate {false}
bool(* | d_matchFunc )(MatchFuncArgType)
union { |
MatchFuncArgType(* d_dataFunc )(DataFuncArgType) |
MatchFuncArgType(* d_dataFuncSameType )(MatchFuncArgType) |
}; |  |

## Detailed Description

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>
class Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >

Base class for all queries.

Query objects have one or two functions associated with them:

- `bool matchFunc(MatchFuncArgType other)` returns true or false to indicate whether this query matches `other`. This is mandatory.
- `MatchFuncArgType dataFunc(DataFuncArgType other)` converts the argument `other` from `DataFuncArgType` to `MatchFuncArgType`. This is optional if `DataFuncArgType` is the same as (or implicitly convertible to) `MatchFuncArgType`.

Definition at line 45 of file Query.h.

## Member Typedef Documentation

## ◆ CHILD_TYPE

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

using Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::CHILD_TYPE

Initial value:
std::shared_ptr<
Query<MatchFuncArgType, DataFuncArgType, needsConversion>>
Queries::Query::Query
Query()
Definition Query.h:55

Definition at line 47 of file Query.h.

## ◆ CHILD_VECT

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

using Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::CHILD_VECT = std::vector<CHILD_TYPE>

Definition at line 49 of file Query.h.

## ◆ CHILD_VECT_CI

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

using Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::CHILD_VECT_CI = typename CHILD_VECT::const_iterator

Definition at line 51 of file Query.h.

## ◆ CHILD_VECT_I

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

using Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::CHILD_VECT_I = typename CHILD_VECT::iterator

Definition at line 50 of file Query.h.

## ◆ DATA_FUNC_ARG_TYPE

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

using Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::DATA_FUNC_ARG_TYPE = DataFuncArgType

Definition at line 53 of file Query.h.

## ◆ MATCH_FUNC_ARG_TYPE

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

using Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::MATCH_FUNC_ARG_TYPE = MatchFuncArgType

Definition at line 52 of file Query.h.

## Constructor & Destructor Documentation

## ◆ Query()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::Query | ( |  | ) |
| inline

Definition at line 55 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), Queries::XOrQuery< int, const ROMol &, true >::copy(), and Queries::SetQuery< int, Atom const *, true >::SetQuery().

## ◆ ~Query()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

virtual Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::~Query | ( |  | ) |
| inlinevirtual

Definition at line 56 of file Query.h.

## Member Function Documentation

## ◆ addChild()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::addChild | ( | CHILD_TYPE | child | ) |
| inline

adds a child to our list of children

Definition at line 103 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::Query< int, Atom const *, true >::copy(), and Queries::XOrQuery< int, const ROMol &, true >::copy().

## ◆ beginChildren()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

CHILD_VECT_CI Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::beginChildren | ( |  | ) | const
| inline

returns an iterator for the beginning of our child vector

Definition at line 105 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::XOrQuery< int, const ROMol &, true >::copy(), Queries::AndQuery< int, const ROMol &, true >::Match(), Queries::OrQuery< int, const ROMol &, true >::Match(), Queries::XOrQuery< int, const ROMol &, true >::Match(), RDKit::detail::qhelper(), and RDKit::detail::qhelper().

## ◆ copy()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

virtual Query< MatchFuncArgType, DataFuncArgType, needsConversion > * Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::copy | ( |  | ) | const
| inlinevirtual

returns a copy of this Query

Notes:

- the caller is responsible for `delete`ing the result

Reimplemented in Queries::AndQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::AndQuery< int, Atom const *, true >, Queries::AndQuery< int, Atom const *, true >, Queries::AndQuery< int, Bond const *, true >, Queries::AndQuery< int, Bond const *, true >, Queries::AndQuery< int, const ROMol &, true >, Queries::AndQuery< int, const ROMol &, true >, Queries::EqualityQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::EqualityQuery< double, const ROMol &, true >, Queries::EqualityQuery< double, const ROMol &, true >, Queries::EqualityQuery< int, Atom const *, true >, Queries::EqualityQuery< int, Atom const *, true >, Queries::EqualityQuery< int, Bond const *, true >, Queries::EqualityQuery< int, Bond const *, true >, Queries::EqualityQuery< int, ConstAtomPtr, true >, Queries::EqualityQuery< int, TargetPtr, true >, Queries::EqualityQuery< MatchFuncArgType, MatchFuncArgType, false >, Queries::GreaterEqualQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::GreaterEqualQuery< double, const ROMol &, true >, Queries::GreaterEqualQuery< double, const ROMol &, true >, Queries::GreaterEqualQuery< int, Atom const *, true >, Queries::GreaterEqualQuery< int, Atom const *, true >, Queries::GreaterEqualQuery< int, Bond const *, true >, Queries::GreaterEqualQuery< int, Bond const *, true >, Queries::GreaterQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::GreaterQuery< double, const ROMol &, true >, Queries::GreaterQuery< double, const ROMol &, true >, Queries::GreaterQuery< int, Atom const *, true >, Queries::GreaterQuery< int, Atom const *, true >, Queries::GreaterQuery< int, Bond const *, true >, Queries::GreaterQuery< int, Bond const *, true >, Queries::LessEqualQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::LessEqualQuery< double, const ROMol &, true >, Queries::LessEqualQuery< double, const ROMol &, true >, Queries::LessEqualQuery< int, Atom const *, true >, Queries::LessEqualQuery< int, Atom const *, true >, Queries::LessEqualQuery< int, Bond const *, true >, Queries::LessEqualQuery< int, Bond const *, true >, Queries::LessQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::LessQuery< double, const ROMol &, true >, Queries::LessQuery< double, const ROMol &, true >, Queries::LessQuery< int, Atom const *, true >, Queries::LessQuery< int, Atom const *, true >, Queries::LessQuery< int, Bond const *, true >, Queries::LessQuery< int, Bond const *, true >, Queries::OrQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::OrQuery< int, Atom const *, true >, Queries::OrQuery< int, Atom const *, true >, Queries::OrQuery< int, Bond const *, true >, Queries::OrQuery< int, Bond const *, true >, Queries::OrQuery< int, const ROMol &, true >, Queries::OrQuery< int, const ROMol &, true >, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::RangeQuery< double, const ROMol &, true >, Queries::RangeQuery< double, const ROMol &, true >, Queries::RangeQuery< int, Atom const *, true >, Queries::RangeQuery< int, Atom const *, true >, Queries::RangeQuery< int, Bond const *, true >, Queries::RangeQuery< int, Bond const *, true >, Queries::SetQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::SetQuery< int, Atom const *, true >, Queries::SetQuery< int, Atom const *, true >, Queries::SetQuery< int, Bond const *, true >, Queries::SetQuery< int, Bond const *, true >, Queries::XOrQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::XOrQuery< int, Atom const *, true >, Queries::XOrQuery< int, Atom const *, true >, Queries::XOrQuery< int, Bond const *, true >, Queries::XOrQuery< int, Bond const *, true >, Queries::XOrQuery< int, const ROMol &, true >, Queries::XOrQuery< int, const ROMol &, true >, RDKit::AtomRingQuery, RDKit::HasPropQuery< TargetPtr >, RDKit::HasPropWithValueQuery< TargetPtr, T >, RDKit::HasPropWithValueQuery< TargetPtr, ExplicitBitVect >, RDKit::HasPropWithValueQuery< TargetPtr, ExplicitBitVect >, RDKit::HasPropWithValueQuery< TargetPtr, std::string >, RDKit::HasPropWithValueQuery< TargetPtr, std::string >, and RDKit::RecursiveStructureQuery.

Definition at line 131 of file Query.h.

Referenced by RDKit::QueryAtom::operator=().

## ◆ endChildren()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

CHILD_VECT_CI Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::endChildren | ( |  | ) | const
| inline

returns an iterator for the end of our child vector

Definition at line 107 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::XOrQuery< int, const ROMol &, true >::copy(), Queries::AndQuery< int, const ROMol &, true >::Match(), Queries::OrQuery< int, const ROMol &, true >::Match(), Queries::XOrQuery< int, const ROMol &, true >::Match(), RDKit::detail::qhelper(), and RDKit::detail::qhelper().

## ◆ getDescription()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

const std::string & Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getDescription | ( |  | ) | const
| inline

returns our text description

Definition at line 70 of file Query.h.

Referenced by Queries::EqualityQuery< double, const ROMol &, true >::getFullDescription(), Queries::RangeQuery< double, const ROMol &, true >::getFullDescription(), Queries::SetQuery< int, Atom const *, true >::getFullDescription(), and RDKit::isAtomDummy().

## ◆ getFullDescription()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

virtual std::string Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getFullDescription | ( |  | ) | const
| inlinevirtual

returns a fuller text description

Reimplemented in Queries::EqualityQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::EqualityQuery< double, const ROMol &, true >, Queries::EqualityQuery< double, const ROMol &, true >, Queries::EqualityQuery< int, Atom const *, true >, Queries::EqualityQuery< int, Atom const *, true >, Queries::EqualityQuery< int, Bond const *, true >, Queries::EqualityQuery< int, Bond const *, true >, Queries::EqualityQuery< int, ConstAtomPtr, true >, Queries::EqualityQuery< int, TargetPtr, true >, Queries::EqualityQuery< MatchFuncArgType, MatchFuncArgType, false >, Queries::GreaterEqualQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::GreaterEqualQuery< double, const ROMol &, true >, Queries::GreaterEqualQuery< double, const ROMol &, true >, Queries::GreaterEqualQuery< int, Atom const *, true >, Queries::GreaterEqualQuery< int, Atom const *, true >, Queries::GreaterEqualQuery< int, Bond const *, true >, Queries::GreaterEqualQuery< int, Bond const *, true >, Queries::GreaterQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::GreaterQuery< double, const ROMol &, true >, Queries::GreaterQuery< double, const ROMol &, true >, Queries::GreaterQuery< int, Atom const *, true >, Queries::GreaterQuery< int, Atom const *, true >, Queries::GreaterQuery< int, Bond const *, true >, Queries::GreaterQuery< int, Bond const *, true >, Queries::LessEqualQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::LessEqualQuery< double, const ROMol &, true >, Queries::LessEqualQuery< double, const ROMol &, true >, Queries::LessEqualQuery< int, Atom const *, true >, Queries::LessEqualQuery< int, Atom const *, true >, Queries::LessEqualQuery< int, Bond const *, true >, Queries::LessEqualQuery< int, Bond const *, true >, Queries::LessQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::LessQuery< double, const ROMol &, true >, Queries::LessQuery< double, const ROMol &, true >, Queries::LessQuery< int, Atom const *, true >, Queries::LessQuery< int, Atom const *, true >, Queries::LessQuery< int, Bond const *, true >, Queries::LessQuery< int, Bond const *, true >, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::RangeQuery< double, const ROMol &, true >, Queries::RangeQuery< double, const ROMol &, true >, Queries::RangeQuery< int, Atom const *, true >, Queries::RangeQuery< int, Atom const *, true >, Queries::RangeQuery< int, Bond const *, true >, Queries::RangeQuery< int, Bond const *, true >, Queries::SetQuery< MatchFuncArgType, DataFuncArgType, needsConversion >, Queries::SetQuery< int, Atom const *, true >, Queries::SetQuery< int, Atom const *, true >, Queries::SetQuery< int, Bond const *, true >, and Queries::SetQuery< int, Bond const *, true >.

Definition at line 72 of file Query.h.

Referenced by RDKit::detail::qhelper(), and RDKit::detail::qhelper().

## ◆ getNegation()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getNegation | ( |  | ) | const
| inline

returns whether or not we are negated

Definition at line 61 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), Queries::XOrQuery< int, const ROMol &, true >::copy(), RDKit::RecursiveStructureQuery::copy(), Queries::EqualityQuery< double, const ROMol &, true >::getFullDescription(), Queries::RangeQuery< double, const ROMol &, true >::getFullDescription(), Queries::SetQuery< int, Atom const *, true >::getFullDescription(), RDKit::isAtomDummy(), Queries::AndQuery< int, const ROMol &, true >::Match(), Queries::EqualityQuery< double, const ROMol &, true >::Match(), Queries::OrQuery< int, const ROMol &, true >::Match(), Queries::RangeQuery< double, const ROMol &, true >::Match(), Queries::SetQuery< int, Atom const *, true >::Match(), and Queries::XOrQuery< int, const ROMol &, true >::Match().

## ◆ getTypeLabel()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

const std::string & Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getTypeLabel | ( |  | ) | const
| inline

returns our text label.

Definition at line 85 of file Query.h.

## ◆ Match()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

virtual bool Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::Match | ( | const DataFuncArgType | arg | ) | const
| inlinevirtual

returns whether or not we match the argument

Reimplemented in Queries::EqualityQuery< int, ConstAtomPtr, true >, Queries::EqualityQuery< int, TargetPtr, true >, Queries::EqualityQuery< MatchFuncArgType, MatchFuncArgType, false >, RDKit::HasPropQuery< TargetPtr >, RDKit::HasPropWithValueQuery< TargetPtr, T >, RDKit::HasPropWithValueQuery< TargetPtr, ExplicitBitVect >, RDKit::HasPropWithValueQuery< TargetPtr, ExplicitBitVect >, RDKit::HasPropWithValueQuery< TargetPtr, std::string >, and RDKit::HasPropWithValueQuery< TargetPtr, std::string >.

Definition at line 110 of file Query.h.

## ◆ setDataFunc()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setDataFunc | ( | MatchFuncArgType(* | what )(DataFuncArgType) | ) |
| inline

sets our data function

Definition at line 94 of file Query.h.

Referenced by Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::GreaterEqualQuery< double, const ROMol &, true >::copy(), Queries::GreaterQuery< double, const ROMol &, true >::copy(), Queries::LessEqualQuery< double, const ROMol &, true >::copy(), Queries::LessQuery< double, const ROMol &, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), RDKit::makeAtomRangeQuery(), RDKit::RecursiveStructureQuery::RecursiveStructureQuery(), and RDKit::RecursiveStructureQuery::RecursiveStructureQuery().

## ◆ setDescription() [1/2]

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setDescription | ( | const char * | descr | ) |
| inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 66 of file Query.h.

## ◆ setDescription() [2/2]

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setDescription | ( | const std::string & | descr | ) |
| inline

sets our text description

Definition at line 64 of file Query.h.

Referenced by RDKit::makeAtomRangeQuery(), RDKit::RecursiveStructureQuery::RecursiveStructureQuery(), and RDKit::RecursiveStructureQuery::RecursiveStructureQuery().

## ◆ setMatchFunc()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setMatchFunc | ( | bool(* | what )(MatchFuncArgType) | ) |
| inline

sets our match function

Definition at line 88 of file Query.h.

## ◆ setNegation()

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setNegation | ( | bool | what | ) |
| inline

sets whether or not we are negated

Definition at line 59 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::GreaterEqualQuery< double, const ROMol &, true >::copy(), Queries::GreaterQuery< double, const ROMol &, true >::copy(), Queries::LessEqualQuery< double, const ROMol &, true >::copy(), Queries::LessQuery< double, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), Queries::XOrQuery< int, const ROMol &, true >::copy(), RDKit::AtomRingQuery::copy(), RDKit::HasPropQuery< TargetPtr >::copy(), RDKit::HasPropWithValueQuery< TargetPtr, T >::copy(), RDKit::HasPropWithValueQuery< TargetPtr, ExplicitBitVect >::copy(), RDKit::HasPropWithValueQuery< TargetPtr, std::string >::copy(), and RDKit::RecursiveStructureQuery::copy().

## ◆ setTypeLabel() [1/2]

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setTypeLabel | ( | const char * | typ | ) |
| inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 83 of file Query.h.

## ◆ setTypeLabel() [2/2]

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setTypeLabel | ( | const std::string & | typ | ) |
| inline

sets our type label

Definition at line 81 of file Query.h.

## ◆ TypeConvert() [1/2]

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::TypeConvert | ( | DataFuncArgType | what,
|  | Int2Type< true > | ) const
| inlineprotected

calls our `dataFunc` (which must be set) on `what` and returns the result

Definition at line 182 of file Query.h.

## ◆ TypeConvert() [2/2]

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::TypeConvert | ( | MatchFuncArgType | what,
|  | Int2Type< false > | ) const
| inlineprotected

calls our `dataFunc` (if it's set) on `what` and returns the result, otherwise returns `what`

Definition at line 169 of file Query.h.

Referenced by Queries::EqualityQuery< double, const ROMol &, true >::Match(), Queries::RangeQuery< double, const ROMol &, true >::Match(), and Queries::SetQuery< int, Atom const *, true >::Match().

## Member Data Documentation

## ◆ [union]

union { ... } Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >

## ◆ d_children

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

CHILD_VECT Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_children
| protected

Definition at line 154 of file Query.h.

## ◆ d_dataFunc

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType(* Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_dataFunc) (DataFuncArgType)

Definition at line 164 of file Query.h.

Referenced by Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::Query< int, Atom const *, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), and RDKit::AtomRingQuery::copy().

## ◆ d_dataFuncSameType

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType(* Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_dataFuncSameType) (MatchFuncArgType)

Definition at line 165 of file Query.h.

## ◆ d_description

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

std::string Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_description = ""
| protected

Definition at line 152 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::GreaterEqualQuery< double, const ROMol &, true >::copy(), Queries::GreaterQuery< double, const ROMol &, true >::copy(), Queries::LessEqualQuery< double, const ROMol &, true >::copy(), Queries::LessQuery< double, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::Query< int, Atom const *, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), Queries::XOrQuery< int, const ROMol &, true >::copy(), RDKit::AtomRingQuery::copy(), RDKit::HasPropQuery< TargetPtr >::copy(), RDKit::HasPropWithValueQuery< TargetPtr, T >::copy(), RDKit::HasPropWithValueQuery< TargetPtr, ExplicitBitVect >::copy(), RDKit::HasPropWithValueQuery< TargetPtr, std::string >::copy(), and RDKit::RecursiveStructureQuery::copy().

## ◆ d_matchFunc

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool(* Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_matchFunc) (MatchFuncArgType)
| protected

Definition at line 156 of file Query.h.

Referenced by Queries::Query< int, Atom const *, true >::copy().

## ◆ d_queryType

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

std::string Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_queryType = ""
| protected

Definition at line 153 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::GreaterEqualQuery< double, const ROMol &, true >::copy(), Queries::GreaterQuery< double, const ROMol &, true >::copy(), Queries::LessEqualQuery< double, const ROMol &, true >::copy(), Queries::LessQuery< double, const ROMol &, true >::copy(), Queries::OrQuery< int, const ROMol &, true >::copy(), Queries::Query< int, Atom const *, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::SetQuery< int, Atom const *, true >::copy(), and Queries::XOrQuery< int, const ROMol &, true >::copy().

## ◆ d_tol

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_tol = 0
| protected

Definition at line 151 of file Query.h.

Referenced by Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::Query< int, Atom const *, true >::copy(), Queries::RangeQuery< double, const ROMol &, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::EqualityQuery(), Queries::EqualityQuery< double, const ROMol &, true >::getTol(), Queries::RangeQuery< double, const ROMol &, true >::getTol(), Queries::EqualityQuery< double, const ROMol &, true >::Match(), Queries::RangeQuery< double, const ROMol &, true >::Match(), Queries::EqualityQuery< double, const ROMol &, true >::setTol(), and Queries::RangeQuery< double, const ROMol &, true >::setTol().

## ◆ d_val

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_val = 0
| protected

Definition at line 150 of file Query.h.

Referenced by Queries::EqualityQuery< double, const ROMol &, true >::copy(), Queries::Query< int, Atom const *, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::EqualityQuery(), Queries::EqualityQuery< double, const ROMol &, true >::EqualityQuery(), Queries::EqualityQuery< double, const ROMol &, true >::getFullDescription(), Queries::EqualityQuery< double, const ROMol &, true >::getVal(), Queries::EqualityQuery< double, const ROMol &, true >::Match(), and Queries::EqualityQuery< double, const ROMol &, true >::setVal().

## ◆ df_negate

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::df_negate {false}
| protected

Definition at line 155 of file Query.h.

Referenced by Queries::AndQuery< int, const ROMol &, true >::AndQuery(), Queries::Query< int, Atom const *, true >::copy(), Queries::EqualityQuery< double, const ROMol &, true >::EqualityQuery(), Queries::EqualityQuery< double, const ROMol &, true >::EqualityQuery(), Queries::EqualityQuery< double, const ROMol &, true >::EqualityQuery(), Queries::OrQuery< int, const ROMol &, true >::OrQuery(), Queries::RangeQuery< double, const ROMol &, true >::RangeQuery(), Queries::RangeQuery< double, const ROMol &, true >::RangeQuery(), and Queries::XOrQuery< int, const ROMol &, true >::XOrQuery().

## ◆ getDataFunc

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType(*)(DataFuncArgType) Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getDataFunc() const
| inline

returns our data function:

Definition at line 98 of file Query.h.

## ◆ getMatchFunc

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool(*)(MatchFuncArgType) Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getMatchFunc() const
| inline

returns our match function:

Definition at line 92 of file Query.h.

The documentation for this class was generated from the following file:

- Query.h