29 #ifndef CDPL_CONFGEN_FRAGMENTLIBRARYENTRY_HPP
30 #define CDPL_CONFGEN_FRAGMENTLIBRARYENTRY_HPP
37 #include <boost/iterator/indirect_iterator.hpp>
67 typedef boost::indirect_iterator<ConformerDataArray::iterator, ConformerData>
ConformerIterator;
192 std::uint64_t hashCode;
Definition of the preprocessor macro CDPL_CONFGEN_API.
#define CDPL_CONFGEN_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Data structure representing a single entry of a conformer generation fragment library.
Definition: FragmentLibraryEntry.hpp:56
const ConformerData & getConformer(std::size_t idx) const
Returns a const reference to the stored conformer at index idx.
ConformerIterator begin()
Returns a mutable iterator pointing to the first stored conformer (range-based for support).
void clearConformers()
Removes all stored conformers from the entry.
ConformerData & getConformer(std::size_t idx)
Returns a reference to the stored conformer at index idx.
ConformerIterator end()
Returns a mutable iterator pointing one past the last stored conformer (range-based for support).
const std::string & getSMILES() const
Returns the canonical SMILES string describing the stored fragment.
FragmentLibraryEntry()
Constructs an empty FragmentLibraryEntry instance.
void addConformer(const ConformerData::SharedPointer &conf_data)
Appends the given conformer to the entry.
std::size_t getNumAtoms() const
Returns the number of atoms of the stored fragment.
std::shared_ptr< FragmentLibraryEntry > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated FragmentLibraryEntry instances.
Definition: FragmentLibraryEntry.hpp:62
boost::indirect_iterator< ConformerDataArray::const_iterator, const ConformerData > ConstConformerIterator
A constant iterator over the stored conformers (dereferences to const ConformerData).
Definition: FragmentLibraryEntry.hpp:65
ConstConformerIterator getConformersBegin() const
Returns a constant iterator pointing to the first stored conformer.
std::uint64_t getHashCode() const
Returns the hash code identifying the entry within the FragmentLibrary.
ConformerIterator getConformersBegin()
Returns a mutable iterator pointing to the first stored conformer.
void setHashCode(std::uint64_t hash_code)
Sets the hash code identifying the entry within the FragmentLibrary.
const ConformerDataArray & getData() const
Returns a const reference to the underlying array of conformer-data smart pointers.
ConstConformerIterator getConformersEnd() const
Returns a constant iterator pointing one past the last stored conformer.
ConformerIterator getConformersEnd()
Returns a mutable iterator pointing one past the last stored conformer.
void setSMILES(const std::string &smiles)
Sets the canonical SMILES string describing the stored fragment.
ConstConformerIterator begin() const
Returns a constant iterator pointing to the first stored conformer (range-based for support).
boost::indirect_iterator< ConformerDataArray::iterator, ConformerData > ConformerIterator
A mutable iterator over the stored conformers (dereferences to ConformerData).
Definition: FragmentLibraryEntry.hpp:67
std::size_t getNumConformers() const
Returns the number of stored conformers.
ConstConformerIterator end() const
Returns a constant iterator pointing one past the last stored conformer (range-based for support).
std::vector< ConformerData::SharedPointer > ConformerDataArray
Dynamically-sized array of shared pointers to ConfGen::ConformerData objects.
Definition: ConformerDataArray.hpp:46
The namespace of the Chemical Data Processing Library.