18#ifndef RD_StereoGroup_092018
19#define RD_StereoGroup_092018
46 std::vector<Atom *> d_atoms;
47 std::vector<Bond *> d_bonds;
51 unsigned d_readId = 0u;
52 unsigned d_writeId = 0u;
58 std::vector<Bond *> &&bonds,
unsigned readId = 0);
60 const std::vector<Bond *> &bonds,
unsigned readId = 0);
78 return (d_grouptype == other.d_grouptype) && (d_atoms == other.d_atoms) &&
79 (d_bonds == other.d_bonds);
82 return (d_grouptype != other.d_grouptype) || (d_atoms != other.d_atoms) ||
83 (d_bonds != other.d_bonds);
86 const Atom *atom, std::vector<StereoGroup> &groups);
88 const Bond *bond, std::vector<StereoGroup> &groups);
91 const Atom *atom, std::vector<StereoGroup> &groups);
93 const Bond *bond, std::vector<StereoGroup> &groups);
95 const Atom *atom, std::vector<StereoGroup> &groups);
97 const std::vector<Atom *> &atoms, std::vector<StereoGroup> &groups);
103 std::vector<StereoGroup> &groups);
RDKIT_GRAPHMOL_EXPORT std::ostream & operator<<(std::ostream &target, const RDKit::StereoGroup &stg)
allows StereoGroup objects to be dumped to streams
The class for representing atoms.
class for representing a bond
StereoGroup(StereoGroupType grouptype, std::vector< Atom * > &&atoms, std::vector< Bond * > &&bonds, unsigned readId=0)
StereoGroup & operator=(const StereoGroup &other)=default
StereoGroup & operator=(StereoGroup &&other)=default
unsigned getWriteId() const
StereoGroup(const StereoGroup &other)=default
StereoGroupType getGroupType() const
unsigned getReadId() const
StereoGroup(StereoGroup &&other)=default
bool operator==(const StereoGroup &other) const
void setWriteId(unsigned id)
StereoGroup(StereoGroupType grouptype, const std::vector< Atom * > &atoms, const std::vector< Bond * > &bonds, unsigned readId=0)
friend RDKIT_GRAPHMOL_EXPORT void removeAtomFromGroups(const Atom *atom, std::vector< StereoGroup > &groups)
friend RDKIT_GRAPHMOL_EXPORT void removeBondFromGroups(const Bond *bond, std::vector< StereoGroup > &groups)
bool operator!=(const StereoGroup &other) const
const std::vector< Atom * > & getAtoms() const
const std::vector< Bond * > & getBonds() const
#define RDKIT_GRAPHMOL_EXPORT
RDKIT_GRAPHMOL_EXPORT void forwardStereoGroupIds(ROMol &mol)
RDKIT_GRAPHMOL_EXPORT void removeGroupsWithAtom(const Atom *atom, std::vector< StereoGroup > &groups)
RDKIT_GRAPHMOL_EXPORT void removeBondFromGroups(const Bond *bond, std::vector< StereoGroup > &groups)
RDKIT_GRAPHMOL_EXPORT void assignStereoGroupIds(std::vector< StereoGroup > &groups)
RDKIT_GRAPHMOL_EXPORT void removeAtomFromGroups(const Atom *atom, std::vector< StereoGroup > &groups)
RDKIT_GRAPHMOL_EXPORT void removeGroupsWithAtoms(const std::vector< Atom * > &atoms, std::vector< StereoGroup > &groups)