xmol::proxy::smart::ResidueSmartRef class

Smart Residue reference proxy.

Base classes

template<typename Observer>
class FrameObserver<ResidueSmartRef>

Constructors, destructors, conversion operators

ResidueSmartRef(ResidueRef res)
operator ResidueRef&()
operator const ResidueRef&() const

Public functions

auto name() const -> const ResidueName&
Residue name.
auto name(const ResidueName& name) -> ResidueRef&
auto id() const -> const ResidueId&
Residue id.
auto id(const ResidueId& value) -> ResidueRef&
auto id(int value) -> ResidueRef&
auto empty() const -> bool
Check if residue has no atoms.
auto size() const -> size_t
Number of atoms in the residue.
auto molecule() -> MoleculeRef
Parent molecule.
auto frame() -> Frame&
Parent frame.
auto index() const -> ResidueIndex
auto atoms() -> AtomSpan
Atoms of the residue.
auto coords() -> CoordSpan
Atoms coordinates of the residue.
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<AtomRef>
Get children atom by name.
auto operator[](const std::string& name) -> std::optional<AtomRef>
Get children atom by name.
auto operator!=(const ResidueRef& rhs) const -> bool
Check if references point to same data.
auto operator==(const ResidueRef& rhs) const -> bool
Check if references point to same data.
auto add_atom() -> AtomRef
Adds atom to the end of the reside and return its reference.

Function documentation

AtomRef xmol::proxy::smart::ResidueSmartRef::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