3.2.1. Chem.hpp¶
3.2.1.1. Class AtomId¶
- 
class AtomId¶
- Representation of the chemical element of an atom. 
3.2.1.1.1. Synopsis¶
3.2.1.1.2. Details¶
- 
constexpr AtomId()¶
- Construct an - AtomIds::Invalidatom id.
- 
explicit constexpr AtomId(unsigned int id)¶
- Construct a specific atom id. Pre-condition: the id must be at most that of - AtomIds::Max.
- 
constexpr operator unsigned char() const¶
- Implicit conversion to an integer type. 
- 
std::string symbol() const¶
- Returns
- the symbol represented by the atom id. 
- Raises
- LogicErrorif the id is invalid.
 
3.2.1.2. Class Isotope¶
- 
class Isotope¶
- Representation of the isotope of an atom. 
3.2.1.2.1. Synopsis¶
3.2.1.2.2. Details¶
- 
constexpr Isotope()¶
- Construct a representation of the most abundant isotope. - Note - This is different from explicitly specifying the isotope that is the most abundant one. 
- 
explicit constexpr Isotope(int i)¶
- Construct a specific isotope. Pre-condition: the isotope must either be at least 1 or be -1. Passing -1 is equivalent to default-construction. 
- 
constexpr operator int() const¶
- Implicit conversion to an integer type. 
3.2.1.3. Class Charge¶
- 
class Charge¶
- Representation of the charge of an atom. 
3.2.1.3.1. Synopsis¶
- 
constexpr Charge()
- 
explicit constexpr Charge(signed char c)
- 
constexpr operator signed char() const
- 
friend std::ostream &operator<<(std::ostream &s, Charge charge)
3.2.1.4. Class AtomData¶
- 
class AtomData¶
- Representation of basic data of an atom. 
3.2.1.4.1. Synopsis¶
- 
constexpr AtomData()
- 
explicit constexpr AtomData(AtomId atomId)
- 
constexpr AtomData(AtomId atomId, Charge charge, bool radical)
- 
constexpr AtomData(AtomId atomId, Isotope isotope, Charge charge, bool radical)
- 
constexpr AtomId getAtomId() const
- 
constexpr Isotope getIsotope() const
- 
constexpr Charge getCharge() const
- 
constexpr bool getRadical() const
- 
friend std::ostream &operator<<(std::ostream &s, const AtomData &data)
3.2.1.4.2. Details¶
- 
constexpr AtomData()¶
- Construct atom data with default values: - AtomIds::Invalidatom id,
- Isotope() as isotope, 
- neutral charge, and 
- no radical. 
 
- 
explicit constexpr AtomData(AtomId atomId)¶
- Construct atom data the given atom id, and otherwise default values (see above). 
- 
constexpr AtomData(AtomId atomId, Charge charge, bool radical)¶
- Construct atom data with given atom id, charge, and radical, but with default isotope. 
- 
constexpr AtomData(AtomId atomId, Isotope isotope, Charge charge, bool radical)¶
- Construct atom data with given atom id, isotope, charge, and radical. 
- 
constexpr bool getRadical() const¶
- Retrieve the radical status. 
- 
friend std::ostream &operator<<(std::ostream &s, const AtomData &data)¶
- Format the atom data adhering to the string encoding of atoms (see Molecule Encoding). - Throws
- LogicErrorif the atom id is- AtomIds::Invalid.
 
3.2.1.5. Enum BondType¶
- 
enum struct BondType¶
- Representation of a bond type (see Molecule Encoding). - 
enumerator Invalid¶
 - 
enumerator Single¶
 - 
enumerator Aromatic¶
 - 
enumerator Double¶
 - 
enumerator Triple¶
 
- 
enumerator Invalid¶
- 
std::ostream &operator<<(std::ostream &s, BondType bt)¶
- Format the bond type adhering to the string encoding of bonds (see Molecule Encoding). - Throws
- LogicErrorif the bond type is- BondType::Invalid.
 
3.2.1.6. Namespace AtomIds¶
This namespace contains constants for each chemical element, both as their abbreviations and their full names. Two additional constants are provided for convenience.