18#ifndef __RD_ATOM_ITERATORS_H__
19#define __RD_ATOM_ITERATORS_H__
22#pragma warning(disable : 4661)
30template <
class Atom_,
class Mol_>
73template <
class Atom_,
class Mol_>
105 int _findNext(
int from);
106 int _findPrev(
int from);
110template <
class Atom_,
class Mol_>
138 int _findNext(
int from);
139 int _findPrev(
int from);
143template <
class Atom_,
class Mol_>
170 QueryAtom *_qA{
nullptr};
172 int _findNext(
int from);
173 int _findPrev(
int from);
177template <
class Atom_,
class Mol_>
204 bool (*_qF)(Atom_ *);
206 int _findNext(
int from);
207 int _findPrev(
int from);
Iterate over aromatic atoms, this is bidirectional.
bool operator!=(const ThisType &other) const
AromaticAtomIterator_ & operator=(const ThisType &other)
AromaticAtomIterator_< Atom_, Mol_ > ThisType
Atom_ * operator*() const
AromaticAtomIterator_(const ThisType &other)
bool operator==(const ThisType &other) const
AromaticAtomIterator_(Mol_ *mol)
AromaticAtomIterator_(Mol_ *mol, int pos)
A general random access iterator.
AtomIterator_ operator-(int val) const
AtomIterator_ operator+(int val) const
int operator-(ThisType &other) const
AtomIterator_< Atom_, Mol_ > ThisType
bool operator<=(const ThisType &other) const
AtomIterator_ & operator-=(int val)
bool operator!=(const ThisType &other) const
bool operator==(const ThisType &other) const
bool operator>(const ThisType &other) const
AtomIterator_(const ThisType &other)
Atom_ * operator*() const
AtomIterator_(Mol_ *mol, int pos)
AtomIterator_ & operator+=(int val)
bool operator<(const ThisType &other) const
AtomIterator_ & operator=(const ThisType &other)
Atom_ * operator[](const int which) const
bool operator>=(const ThisType &other) const
Iterate over heteroatoms, this is bidirectional.
HeteroatomIterator_(Mol_ *mol)
HeteroatomIterator_ & operator=(const ThisType &other)
HeteroatomIterator_(Mol_ *mol, int pos)
HeteroatomIterator_< Atom_, Mol_ > ThisType
bool operator!=(const ThisType &other) const
HeteroatomIterator_(const ThisType &other)
Atom_ * operator*() const
bool operator==(const ThisType &other) const
Iterate over atoms matching a query function. This is bidirectional.
MatchingAtomIterator_< Atom_, Mol_ > ThisType
MatchingAtomIterator_(Mol_ *mol, bool(*fn)(Atom_ *))
bool operator==(const ThisType &other) const
Atom_ * operator*() const
MatchingAtomIterator_ & operator=(const ThisType &other)
MatchingAtomIterator_(Mol_ *mol, int pos)
bool operator!=(const ThisType &other) const
MatchingAtomIterator_(const ThisType &other)
Iterate over atoms matching a query. This is bidirectional.
QueryAtomIterator_ & operator=(const ThisType &other)
bool operator!=(const ThisType &other) const
bool operator==(const ThisType &other) const
QueryAtomIterator_(Mol_ *mol, QueryAtom const *what)
QueryAtomIterator_(Mol_ *mol, int pos)
Atom_ * operator*() const
QueryAtomIterator_< Atom_, Mol_ > ThisType
QueryAtomIterator_(const ThisType &other)
Class for storing atomic queries.
#define RDKIT_GRAPHMOL_EXPORT