71 boost::rational<int> &&frac,
int dist, uint8_t flags);
125 boost::rational<int> d_atomic_num;
126 double d_atomic_mass;
128 uint8_t d_flags = 0x0;
130 std::vector<Edge *> d_edges;
132 std::vector<std::uint32_t> d_visit;
134 Node *newTerminalChild(
int idx,
Atom *atom, uint8_t flags)
const;
The class for representing atoms.
Node * newRingDuplicateChild(int idx, Atom *atom) const
double getAtomicMass() const
Node * newBondDuplicateChild(int idx, Atom *atom) const
Node(const Node &)=delete
Node & operator=(const Node &)=delete
bool isDuplicateOrH() const
Digraph * getDigraph() const
Node * newImplicitHydrogenChild() const
static constexpr uint8_t DUPLICATE_OR_H
void setAux(Descriptor desc)
unsigned int getAtomIdx() const
static constexpr uint8_t BOND_DUPLICATE
const std::vector< Edge * > & getEdges() const
static constexpr uint8_t EXPANDED
static constexpr uint8_t DUPLICATE
std::vector< Edge * > getNonTerminalOutEdges() const
Node * newChild(int idx, Atom *atom) const
static constexpr uint8_t RING_DUPLICATE
Descriptor getAux() const
bool isSet(uint8_t mask) const
std::vector< Edge * > getEdges(Atom *end) const
static constexpr uint8_t IMPL_HYDROGEN
unsigned getMassNum() const
Node(Digraph *g, std::vector< std::uint32_t > &&visit, Atom *atom, boost::rational< int > &&frac, int dist, uint8_t flags)
boost::rational< int > getAtomicNumFraction() const
bool isVisited(int idx) const