11#ifndef _RD_QUERYBOND_H
12#define _RD_QUERYBOND_H
46 dp_query = std::move(other.dp_query);
52 QueryBond::operator=(std::move(other));
53 dp_query = std::move(other.dp_query);
76 bool hasQuery()
const override {
return dp_query !=
nullptr; }
107 bool maintainOrder =
true)
override;
124 for (
unsigned int i = 0; i <
depth; ++i) {
127 res +=
q->getFullDescription() +
"\n";
128 for (
const auto &
child :
129 boost::make_iterator_range(
q->beginChildren(),
q->endChildren())) {
138 std::string
res =
"";
#define PRECONDITION(expr, mess)
Pulls in all the query types.
Base class for all queries.
virtual Query< MatchFuncArgType, DataFuncArgType, needsConversion > * copy() const
returns a copy of this Query
The class for representing atoms.
class for representing a bond
virtual QUERYBOND_QUERY * getQuery() const
NOT CALLABLE.
virtual bool hasQuery() const
BondDir
the bond's direction (for chirality)
Class for storing Bond queries.
void setBondDir(BondDir bD)
sets the BondDir of this query:
void setBondType(BondType bT)
sets the BondType of this query:
QueryBond(BondType bT)
initialize with a particular bond order
bool hasQuery() const override
void expandQuery(QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true) override
expands our current query
QUERYBOND_QUERY * getQuery() const override
returns our current query
QueryBond(const Bond &other)
initialize from a bond
void setQuery(QUERYBOND_QUERY *what) override
replaces our current query with the value passed in
Bond * copy() const override
returns a copy of this query, owned by the caller
Queries::Query< int, Bond const *, true > QUERYBOND_QUERY
double getValenceContrib(const Atom *at) const override
returns our contribution to the explicit valence of an Atom
QueryBond(const QueryBond &other)
QueryBond(QueryBond &&other) noexcept
bool QueryMatch(QueryBond const *what) const
returns true if our query details match those of QueryBond what
QUERYBOND_QUERY * dp_query
bool Match(Bond const *what) const override
returns true if we match Bond what
QueryBond & operator=(const QueryBond &other)
QueryBond & operator=(QueryBond &&other) noexcept
#define RDKIT_GRAPHMOL_EXPORT
bool rdvalue_is(const RDValue_cast_t)
RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY * makeBondOrderEqualsQuery(Bond::BondType what)
returns a Query for matching bond orders
std::string describeQuery(const Atom *atom)