xmol::proxy::MoleculeSelection class

@breif Ordered set of MoleculeRef from single Frame

Mixing references from different frames within single MoleculeSelection is prohibited

Base classes

template<typename T>
class Selection<MoleculeRef>

Constructors, destructors, conversion operators

MoleculeSelection(Selection&& rhs)
MoleculeSelection(MoleculeSpan rhs)
Selection() defaulted
template<typename Iterator>
Selection(Iterator first, Iterator last, bool sorted_and_unique = false)
template<typename Container>
Selection(Container&& c, bool sorted_and_unique = false) explicit
Selection(std::vector<T>&& data, bool sorted_and_unique = false) explicit

Public functions

auto coords() -> CoordSelection
Coordinates.
auto atoms() -> AtomSelection
Children atoms of the molecules.
auto residues() -> ResidueSelection
Children residues of the molecules.
auto operator|=(const MoleculeSelection& rhs) -> MoleculeSelection
Inplace union.
auto operator-=(const MoleculeSelection& rhs) -> MoleculeSelection
Inplace difference.
auto operator&=(const MoleculeSelection& rhs) -> MoleculeSelection
Inplace intersection.
template<typename Predicate>
auto filter(Predicate&& p) -> MoleculeSelection
Returns selection with molecules that match predicate.
auto index() const -> std::vector<MoleculeIndex>
auto slice(std::optional<size_t> start, std::optional<size_t> stop = {}, std::optional<size_t> step = {}) -> MoleculeSelection
auto smart() -> smart::MoleculeSmartSelection
Create smart selection from this.