29 #ifndef CDPL_FORCEFIELD_MMFF94FORMALATOMCHARGEDEFINITIONTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94FORMALATOMCHARGEDEFINITIONTABLE_HPP
36 #include <unordered_map>
40 #include <boost/iterator/transform_iterator.hpp>
65 typedef std::unordered_map<std::string, Entry> DataStorage;
69 typedef std::shared_ptr<MMFF94FormalAtomChargeDefinitionTable>
SharedPointer;
90 Entry(
const std::string& atom_type, std::size_t ass_mode,
double charge,
const std::string& type_list);
123 std::string atomType;
126 std::string typeList;
131 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
132 DataStorage::const_iterator>
136 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
137 DataStorage::iterator>
152 void addEntry(
const std::string& atom_type, std::size_t ass_mode,
double charge,
const std::string& nbr_types);
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.
A single formal-charge definition.
Definition: MMFF94FormalAtomChargeDefinitionTable.hpp:75
std::size_t getAssignmentMode() const
Returns the charge-assignment mode flag.
double getFormalCharge() const
Returns the formal charge of the entry.
const std::string & getAtomTypeList() const
Returns the whitespace-separated list of neighbour atom types used by the assignment.
const std::string & getAtomType() const
Returns the symbolic MMFF94 atom type of the entry.
Entry()
Constructs an empty (uninitialized) Entry instance.
Entry(const std::string &atom_type, std::size_t ass_mode, double charge, const std::string &type_list)
Constructs an Entry for the symbolic MMFF94 atom type atom_type.
The namespace of the Chemical Data Processing Library.