29 #ifndef CDPL_FORCEFIELD_MMFF94ATOMTYPEPROPERTYTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94ATOMTYPEPROPERTYTABLE_HPP
34 #include <unordered_map>
38 #include <boost/iterator/transform_iterator.hpp>
56 typedef std::unordered_map<unsigned int, Entry> DataStorage;
67 Entry(
unsigned int atom_type,
unsigned int atomic_no, std::size_t num_nbrs, std::size_t valence,
68 bool has_pi_lp,
unsigned int mltb_desig,
bool is_arom,
bool lin_bnd_ang,
bool has_mb_or_sb);
91 unsigned int atomType;
92 unsigned int atomicNo;
93 std::size_t numNeighbors;
96 unsigned int mltbDesig;
99 bool hasMultiOrSingleBonds;
103 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
104 DataStorage::const_iterator>
107 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
108 DataStorage::iterator>
113 void addEntry(
unsigned int atom_type,
unsigned int atomic_no, std::size_t num_nbrs, std::size_t valence,
114 bool has_pi_lp,
unsigned int mltb_desig,
bool is_arom,
bool lin_bnd_ang,
bool has_mb_or_sb);
Definition of the preprocessor macro CDPL_FORCEFIELD_API.
#define CDPL_FORCEFIELD_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition: MMFF94AtomTypePropertyTable.hpp:62
std::size_t getValence() const
Entry(unsigned int atom_type, unsigned int atomic_no, std::size_t num_nbrs, std::size_t valence, bool has_pi_lp, unsigned int mltb_desig, bool is_arom, bool lin_bnd_ang, bool has_mb_or_sb)
bool formsMultiOrSingleBonds() const
bool formsLinearBondAngle() const
unsigned int getAtomicNumber() const
unsigned int getMultiBondDesignator() const
unsigned int getAtomType() const
bool hasPiLonePair() const
std::size_t getNumNeighbors() const
bool isAromaticAtomType() const
Definition: MMFF94AtomTypePropertyTable.hpp:50
ConstEntryIterator getEntriesEnd() const
std::size_t getNumEntries() const
void load(std::istream &is)
static void set(const SharedPointer &table)
bool removeEntry(unsigned int atom_type)
ConstEntryIterator getEntriesBegin() const
std::shared_ptr< MMFF94AtomTypePropertyTable > SharedPointer
Definition: MMFF94AtomTypePropertyTable.hpp:59
EntryIterator getEntriesEnd()
ConstEntryIterator end() const
const Entry & getEntry(unsigned int atom_type) const
ConstEntryIterator begin() const
EntryIterator getEntriesBegin()
EntryIterator removeEntry(const EntryIterator &it)
void addEntry(unsigned int atom_type, unsigned int atomic_no, std::size_t num_nbrs, std::size_t valence, bool has_pi_lp, unsigned int mltb_desig, bool is_arom, bool lin_bnd_ang, bool has_mb_or_sb)
boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
Definition: MMFF94AtomTypePropertyTable.hpp:109
static const SharedPointer & get()
MMFF94AtomTypePropertyTable()
boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
Definition: MMFF94AtomTypePropertyTable.hpp:105
The namespace of the Chemical Data Processing Library.