18 #ifndef __RD_ATOM_ITERATORS_H__ 19 #define __RD_ATOM_ITERATORS_H__ 22 #pragma warning(disable : 4661) // no suitable definition provided for explicit 30 template <
class Atom_,
class Mol_>
50 Atom_ *operator[](
const int which)
const;
51 bool operator==(
const ThisType &other)
const;
52 bool operator!=(
const ThisType &other)
const;
53 bool operator<(
const ThisType &other)
const;
54 bool operator<=(
const ThisType &other)
const;
55 bool operator>(
const ThisType &other)
const;
56 bool operator>=(
const ThisType &other)
const;
59 ThisType &operator++();
60 ThisType operator++(
int);
63 ThisType &operator--();
64 ThisType operator--(
int);
72 template <
class Atom_,
class Mol_>
82 bool operator==(
const ThisType &other)
const;
83 bool operator!=(
const ThisType &other)
const;
88 ThisType &operator++();
89 ThisType operator++(
int);
92 ThisType &operator--();
93 ThisType operator--(
int);
103 int _findNext(
int from);
104 int _findPrev(
int from);
108 template <
class Atom_,
class Mol_>
118 bool operator==(
const ThisType &other)
const;
119 bool operator!=(
const ThisType &other)
const;
124 ThisType &operator++();
125 ThisType operator++(
int);
128 ThisType &operator--();
129 ThisType operator--(
int);
135 int _findNext(
int from);
136 int _findPrev(
int from);
140 template <
class Atom_,
class Mol_>
150 bool operator==(
const ThisType &other)
const;
151 bool operator!=(
const ThisType &other)
const;
156 ThisType &operator++();
157 ThisType operator++(
int);
160 ThisType &operator--();
161 ThisType operator--(
int);
168 int _findNext(
int from);
169 int _findPrev(
int from);
173 template <
class Atom_,
class Mol_>
183 bool operator==(
const ThisType &other)
const;
184 bool operator!=(
const ThisType &other)
const;
189 ThisType &operator++();
190 ThisType operator++(
int);
193 ThisType &operator--();
194 ThisType operator--(
int);
199 bool (*_qF)(Atom_ *);
201 int _findNext(
int from);
202 int _findPrev(
int from);
RDKIT_DATASTRUCTS_EXPORT DiscreteValueVect operator-(const DiscreteValueVect &p1, const DiscreteValueVect &p2)
Iterate over aromatic atoms, this is bidirectional.
Iterate over atoms matching a query. This is bidirectional.
AromaticAtomIterator_< Atom_, Mol_ > ThisType
Class for storing atomic queries.
HeteroatomIterator_< Atom_, Mol_ > ThisType
#define RDKIT_GRAPHMOL_EXPORT
AtomIterator_< Atom_, Mol_ > ThisType
A general random access iterator.
QueryAtomIterator_< Atom_, Mol_ > ThisType
RDKIT_RDGEOMETRYLIB_EXPORT RDGeom::Point3D operator*(const RDGeom::Point3D &p1, double v)
Iterate over atoms matching a query function. This is bidirectional.
MatchingAtomIterator_< Atom_, Mol_ > ThisType
RDKIT_DATASTRUCTS_EXPORT DiscreteValueVect operator+(const DiscreteValueVect &p1, const DiscreteValueVect &p2)
Iterate over heteroatoms, this is bidirectional.