#include <type_system.hpp>
A TypeSystem is a class that stores a set of molecular types that are self-consistent for a particular problem. For example, if your problem requires a set of types that are specific to protein molecules, you might create a ProteinTypeSystem, with atom, monomer and structure types defined for proteins. The Atom class is parameterized with a TypeSystem, allowing for compile-time type safety for these fundamental molecular types.
More abstractly, TypeSystem classes are envisioned as the general solution to the problem of representing application-specific molecular types. Force-fields such as CHARMM and AMBER have their own self-consistent sets of atom, monomer and molecule types -- a TypeSystem class would be the correct way to represent these concepts in the BTK.
typedef ElementDictionaryType element_dictionary |
typedef AtomDictionaryType atom_dictionary |
typedef MonomerDictionaryType monomer_dictionary |
typedef StructureDictionaryType structure_dictionary |
typedef element_dictionary::id_type element_id_type |
typedef atom_dictionary::id_type atom_id_type |
typedef monomer_dictionary::id_type monomer_id_type |
typedef structure_dictionary::id_type structure_id_type |
typedef TypeSystem<element_dictionary, atom_dictionary, monomer_dictionary, structure_dictionary> self_type |
TypeSystem | ( | ) |
TypeSystem | ( | element_dictionary const & | ed, | |
atom_dictionary const & | ad, | |||
monomer_dictionary const & | md, | |||
structure_dictionary const & | sd | |||
) |
virtual ~TypeSystem | ( | ) | [virtual] |
element_dictionary& get_element_dictionary | ( | ) |
atom_dictionary& get_atom_dictionary | ( | ) |
monomer_dictionary& get_monomer_dictionary | ( | ) |
structure_dictionary& get_structure_dictionary | ( | ) |
element_dictionary const& get_element_dictionary | ( | ) | const |
atom_dictionary const& get_atom_dictionary | ( | ) | const |
monomer_dictionary const& get_monomer_dictionary | ( | ) | const |
structure_dictionary const& get_structure_dictionary | ( | ) | const |