Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scine::Molassembler::RankingInformation::Link Struct Reference

Information on links between substituents of a central atom. More...

#include <RankingInformation.h>

Public Member Functions

Special member functions
 Link ()
 Default constructor. More...
 
 Link (std::pair< SiteIndex, SiteIndex > siteIndices, std::vector< AtomIndex > sequence, AtomIndex source)
 Constructor from data without established invariants. More...
 
Modification
void applyPermutation (const std::vector< AtomIndex > &permutation)
 Apply an index permutation to this object. Re-establishes invariants. More...
 
Operators
bool operator== (const Link &other) const
 Performs a lexicographical comparison on both data members.
 
bool operator!= (const Link &other) const
 Performs a lexicographical comparison on both data members.
 
bool operator< (const Link &other) const
 Performs a lexicographical comparison on both data members.
 

Data Fields

Data members
std::pair< SiteIndex, SiteIndexsites
 An (asc) ordered pair of the site indices that are linked.
 
std::vector< AtomIndexcycleSequence
 The in-order atom sequence of the cycle atom indices. More...
 

Detailed Description

Information on links between substituents of a central atom.

Constructor & Destructor Documentation

Scine::Molassembler::RankingInformation::Link::Link ( )

Default constructor.

Warning
Does not establish member invariants
Scine::Molassembler::RankingInformation::Link::Link ( std::pair< SiteIndex, SiteIndex siteIndices,
std::vector< AtomIndex sequence,
AtomIndex  source 
)

Constructor from data without established invariants.

Complexity \(\Theta(N)\)

Member Function Documentation

void Scine::Molassembler::RankingInformation::Link::applyPermutation ( const std::vector< AtomIndex > &  permutation)

Apply an index permutation to this object. Re-establishes invariants.

Complexity \(\Theta(N)\)

Field Documentation

std::vector<AtomIndex> Scine::Molassembler::RankingInformation::Link::cycleSequence

The in-order atom sequence of the cycle atom indices.

Note
The cycle sequence is centralized on the source vertex, meaning the front index is always the source vertex
The cycle sequence is standardized by ordering the second and last vertices of the sequence ascending (i.e. reversing the sequence past the source vertex if the second index is larger than the last one)

The documentation for this struct was generated from the following file: