xmol::proxy::MoleculeRef class

Lightweight molecule reference.

Contents

For ref-counting reference see smart::MoleculeSmartRef

Public functions

auto name() const -> const MoleculeName&
Molecule name.
auto name(const MoleculeName& name) -> MoleculeRef&
auto name(const char* name) -> MoleculeRef&
auto name(const std::string& name) -> MoleculeRef&
auto empty() const -> bool
Check if molecule has no residues.
auto size() const -> size_t
Number of residues in molecule.
auto index() const -> MoleculeIndex noexcept
Index of the molecule in frame.
auto frame() -> Frame&
Parent frame.
auto frame() const -> const Frame&
Parent frame.
auto residues() -> ResidueSpan
Residues of the molecule.
auto atoms() -> AtomSpan
Atoms of the molecule.
auto coords() -> CoordSpan
Atom coordinates of the molecule.
auto smart() -> smart::MoleculeSmartRef
Create smart reference from this.
auto operator!=(const MoleculeRef& rhs) const -> bool
Check if references point to same data.
auto operator==(const MoleculeRef& rhs) const -> bool
auto operator[](const ResidueId& id) -> std::optional<proxy::ResidueRef>
auto operator[](residueSerial_t id) -> std::optional<proxy::ResidueRef>
auto add_residue() -> ResidueRef
Adds residue to the end of the molecule and return its reference.

Function documentation

ResidueRef xmol::proxy::MoleculeRef::add_residue()

Adds residue to the end of the molecule and return its reference.

Invalidates all kinds of non-smart residue references including proxy::ResidueRef, proxy::ResidueRefSpan and proxy::ResidueSelection

Appropriate Frame::reserve_residues() call prevents references invalidation