xmol::proxy::AtomRef class

Lightweight atom reference.

Provides access to XYZ and BaseAtom parts of atom

For ref-counting reference see smart::AtomSmartRef

Constructors, destructors, conversion operators

AtomRef(const AtomRef& rhs) defaulted
AtomRef(AtomRef&& rhs) defaulted noexcept

Public functions

auto operator=(const AtomRef& rhs) -> AtomRef& defaulted
auto operator=(AtomRef&& rhs) -> AtomRef& defaulted noexcept
auto id() const -> const AtomId&
Atom id.
auto id(const AtomId& value) -> AtomRef&
auto mass() const -> float
Atom mass.
auto mass(float value) -> AtomRef&
auto vdw_radius() const -> float
Van der Waals radius.
auto vdw_radius(float value) -> AtomRef&
auto name() const -> const AtomName&
Atom name.
auto name(const AtomName& value) -> AtomRef&
auto name(const char* value) -> AtomRef&
auto name(const std::string& value) -> AtomRef&
auto r() const -> const XYZ&
Atom coordinates.
auto r(const XYZ& value) -> AtomRef&
auto residue() -> ResidueRef
Parent residue.
auto molecule() -> MoleculeRef
Parent molecule.
auto frame() -> Frame&
Parent frame.
auto frame() const -> const Frame&
Parent frame.
auto index() const -> AtomIndex noexcept
Index of the atom in frame (0-based)
auto smart() -> smart::AtomSmartRef
Create smart reference from this.
auto operator!=(const AtomRef& rhs) const -> bool
Check if references point to same data.
auto operator==(const AtomRef& rhs) const -> bool
Check if references point to same data.

Protected variables

XYZ* m_coord
BaseAtom* m_atom