xmol::proxy::smart::MoleculeSmartSelection class

MoleculeSelection with parent frame changes tracking.

Base classes

template<typename Observer>
class FrameObserver<MoleculeSmartSelection>

Constructors, destructors, conversion operators

MoleculeSmartSelection(MoleculeSelection sel)
operator const MoleculeSelection&() const &
operator MoleculeSelection&() &
operator MoleculeSelection&&() &&

Public functions

auto coords() -> CoordSelection
Coordinates.
auto atoms() -> AtomSelection
Children atoms.
auto residues() -> ResidueSelection
Children residues.
template<typename Predicate>
auto filter(Predicate&& p) -> MoleculeSelection
Returns selection with atoms that match predicate.
void unite(const MoleculeSelection& rhs)
Inplace union.
void substract(const MoleculeSelection& rhs)
Inplace difference.
void intersect(const MoleculeSelection& rhs)
Inplace intersection.
auto contains(const MoleculeRef& ref) const -> bool
Check if element in selection.
auto operator|=(const MoleculeSelection& rhs) -> MoleculeSmartSelection&
Inplace union.
auto operator-=(const MoleculeSelection& rhs) -> MoleculeSmartSelection&
Inplace difference.
auto operator&=(const MoleculeSelection& rhs) -> MoleculeSmartSelection&
Inplace intersection.
auto begin() -> auto
auto end() -> auto
auto size() const -> size_t
auto empty() const -> size_t
auto slice(std::optional<size_t> start, std::optional<size_t> stop = {}, std::optional<size_t> step = {}) -> MoleculeSelection
auto index() -> auto
auto operator[](size_t i) -> MoleculeRef&