8 #ifndef INCLUDE_MOLASSEMBLER_RANKING_INFORMATION_H
9 #define INCLUDE_MOLASSEMBLER_RANKING_INFORMATION_H
17 namespace Molassembler {
19 struct site_index_tag;
20 using SiteIndex = Temple::StrongIndex<site_index_tag, unsigned>;
57 static std::vector<unsigned> siteConstitutingAtomsRankedPositions(
58 const std::vector<AtomIndex>& siteAtomList,
149 unsigned getRankedIndexOfSite(
SiteIndex i)
const;
158 bool hasHapticSites()
const;
184 std::pair<SiteIndex, SiteIndex> siteIndices,
185 std::vector<AtomIndex> sequence,
193 std::pair<SiteIndex, SiteIndex>
sites;
Defines basic types widely shared across the project.
Helper class to create strongly typed indices.
Type helper for creating strong index types that are type-level distinct from their fundamental types...
Definition: StrongIndex.h:37
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
Permutation applyPermutation(const Permutation &occupation, const Permutation &permutation)
Rotates a passed list of indices with a specified rotation vector.
std::vector< std::vector< AtomIndex >> sites(const PrivateGraph &graph, AtomIndex placement, const std::vector< AtomIndex > &excludeAdjacents={})
Differentiate adjacent vertices of a central index into sites.