xmol::proxy::ResidueRef class

Lightweight residue reference.

Contents

For ref-counting reference see smart::ResidueSmartRef

Public functions

auto name() const -> const ResidueName&
Residue name.
auto name(const ResidueName& name) -> ResidueRef&
auto name(const char* name) -> ResidueRef&
auto id() const -> const ResidueId&
Residue id.
auto id(const ResidueId& value) -> ResidueRef&
auto id(int serial) -> ResidueRef&
auto empty() const -> bool
Check if residue has no atoms.
auto size() const -> size_t
Number of atoms in the residue.
auto index() const -> ResidueIndex noexcept
Index of the residue in frame (0-based)
auto molecule() -> MoleculeRef
Parent molecule.
auto frame() -> Frame&
Parent frame.
auto frame() const -> const Frame&
Parent frame.
auto atoms() -> AtomSpan
Atoms of the residue.
auto coords() -> CoordSpan
Atom coordinates of the molecule.
auto next() -> std::optional<ResidueRef>
Next residue in the molecule.
auto prev() -> std::optional<ResidueRef>
Previous residue in the molecule.
auto operator[](const AtomName& name) -> std::optional<AtomRef>
Get children atom by name.
auto operator[](const char* name) -> std::optional<proxy::AtomRef>
auto operator[](const std::string& name) -> std::optional<proxy::AtomRef>
auto smart() -> smart::ResidueSmartRef
Create smart reference from this.
auto operator!=(const ResidueRef& rhs) const -> bool
Check if references point to same data.
auto operator==(const ResidueRef& rhs) const -> bool
auto add_atom() -> AtomRef
Adds atom to the end of the reside and return its reference.

Function documentation

AtomRef xmol::proxy::ResidueRef::add_atom()

Adds atom to the end of the reside and return its reference.

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

Appropriate Frame::reserve_atoms() call prevents references invalidation