29 #ifndef CDPL_FORCEFIELD_MMFF94BONDSTRETCHINGRULEPARAMETERTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94BONDSTRETCHINGRULEPARAMETERTABLE_HPP
35 #include <unordered_map>
39 #include <boost/iterator/transform_iterator.hpp>
57 typedef std::unordered_map<std::uint32_t, Entry> DataStorage;
60 typedef std::shared_ptr<MMFF94BondStretchingRuleParameterTable>
SharedPointer;
68 Entry(
unsigned int atomic_no1,
unsigned int atomic_no2,
double force_const,
double ref_length);
81 unsigned int atomicNo1;
82 unsigned int atomicNo2;
88 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
89 DataStorage::const_iterator>
92 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
93 DataStorage::iterator>
98 void addEntry(
unsigned int atomic_no1,
unsigned int atomic_no2,
double force_const,
double ref_length);
100 const Entry&
getEntry(
unsigned int atomic_no1,
unsigned int atomic_no2)
const;
106 bool removeEntry(
unsigned int atomic_no1,
unsigned int atomic_no2);
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: MMFF94BondStretchingRuleParameterTable.hpp:63
double getReferenceLength() const
double getForceConstant() const
unsigned int getAtomicNumber2() const
Entry(unsigned int atomic_no1, unsigned int atomic_no2, double force_const, double ref_length)
unsigned int getAtomicNumber1() const
Definition: MMFF94BondStretchingRuleParameterTable.hpp:51
const Entry & getEntry(unsigned int atomic_no1, unsigned int atomic_no2) const
static void set(const SharedPointer &table)
void addEntry(unsigned int atomic_no1, unsigned int atomic_no2, double force_const, double ref_length)
EntryIterator getEntriesEnd()
ConstEntryIterator end() const
ConstEntryIterator getEntriesEnd() const
void load(std::istream &is)
EntryIterator getEntriesBegin()
boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
Definition: MMFF94BondStretchingRuleParameterTable.hpp:90
std::size_t getNumEntries() const
MMFF94BondStretchingRuleParameterTable()
static const SharedPointer & get()
bool removeEntry(unsigned int atomic_no1, unsigned int atomic_no2)
std::shared_ptr< MMFF94BondStretchingRuleParameterTable > SharedPointer
Definition: MMFF94BondStretchingRuleParameterTable.hpp:60
ConstEntryIterator getEntriesBegin() const
ConstEntryIterator begin() const
boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
Definition: MMFF94BondStretchingRuleParameterTable.hpp:94
EntryIterator removeEntry(const EntryIterator &it)
The namespace of the Chemical Data Processing Library.