1 #ifndef CASM_HamiltonianModules
2 #define CASM_HamiltonianModules
14 class ParsingDictionary;
17 class ProjectSettings;
19 class SymRepBuilderInterface;
54 std::map<std::string, std::shared_ptr<RuntimeLibrary> >
m_dof_lib;
64 template <
typename DoFDictInserter,
typename RuntimeLibInserter>
67 RuntimeLibInserter lib_it);
70 template <
typename SymRepBuilderDictInserter,
typename RuntimeLibInserter>
71 std::pair<SymRepBuilderDictInserter, RuntimeLibInserter>
73 SymRepBuilderDictInserter dict_it,
74 RuntimeLibInserter lib_it);
Collection of all the traits specific to a DoF type.
notstd::cloneable_ptr< AnisoValDictionary > m_aniso_val_dict
HamiltonianModules(ProjectSettings const *set=nullptr)
notstd::cloneable_ptr< SymRepBuilderDictionary > m_symrep_builder_dict
notstd::cloneable_ptr< DoFDictionary > m_dof_dict
SymRepBuilderDictionary & symrep_builder_dict()
AnisoValDictionary & aniso_val_dict()
DoFDictionary & dof_dict()
std::map< std::string, std::shared_ptr< RuntimeLibrary > > m_dof_lib
std::map< std::string, std::shared_ptr< RuntimeLibrary > > m_symrep_builder_lib
Parsing dictionary for obtaining the correct MoleculeAttribute given a name.
A 'cloneable_ptr' can be used in place of 'unique_ptr'.
#define CLONEABLE_NEEDS_DESTRUCTOR_DEF(T)
std::pair< SymRepBuilderDictInserter, RuntimeLibInserter > load_symrep_builder_plugins(const ProjectSettings &set, SymRepBuilderDictInserter dict_it, RuntimeLibInserter lib_it)
Load SymRepBuilder plugins from a CASM project.
std::pair< DoFDictInserter, RuntimeLibInserter > load_dof_plugins(const ProjectSettings &set, DoFDictInserter dict_it, RuntimeLibInserter lib_it)
Load DoF plugins from a CASM project.
HamiltonianModules::SymRepBuilderDictionary make_parsing_dictionary< SymRepBuilderInterface >()