11 #ifndef _RD_QUERYBOND_H
12 #define _RD_QUERYBOND_H
39 :
Bond(other), dp_query(other.dp_query->copy()){};
60 bool hasQuery()
const {
return dp_query !=
nullptr; };
91 bool maintainOrder =
true);
101 for (
unsigned int i = 0; i < depth; ++i) res +=
" ";
105 res +=
qhelper((*ci).get(), depth + 1);
113 std::string res =
"";
#define PRECONDITION(expr, mess)
Pulls in all the query types.
Base class for all queries.
virtual std::string getFullDescription() const
returns a fuller text description
CHILD_VECT_CI endChildren() const
returns an iterator for the end of our child vector
CHILD_VECT_CI beginChildren() const
returns an iterator for the beginning of our child vector
CHILD_VECT::const_iterator CHILD_VECT_CI
class for representing a bond
virtual bool hasQuery() const
BondDir
the bond's direction (for chirality)
virtual QUERYBOND_QUERY * getQuery() const
NOT CALLABLE.
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 & operator=(const QueryBond &other)
QueryBond(BondType bT)
initialize with a particular bond order
QueryBond(const Bond &other)
initialize from a bond
QUERYBOND_QUERY * getQuery() const
returns our current query
virtual Bond * copy() const
returns a copy of this query, owned by the caller
Queries::Query< int, Bond const *, true > QUERYBOND_QUERY
QueryBond(const QueryBond &other)
void expandQuery(QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true)
expands our current query
void setQuery(QUERYBOND_QUERY *what)
replaces our current query with the value passed in
bool Match(Bond const *what) const
returns true if we match Bond what
bool QueryMatch(QueryBond const *what) const
returns true if our query details match those of QueryBond what
#define RDKIT_GRAPHMOL_EXPORT
std::string qhelper(Atom::QUERYATOM_QUERY *q, unsigned int depth)
std::string describeQuery(const Atom *atom)
RDKIT_GRAPHMOL_EXPORT BOND_EQUALS_QUERY * makeBondOrderEqualsQuery(Bond::BondType what)
returns a Query for matching bond orders