SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
TermsEnumConverter.hpp
Go to the documentation of this file.
1 
11 #ifndef TERMS_TERMSENUMCONVERTER_HPP
12 #define TERMS_TERMSENUMCONVERTER_HPP
13 
14 #include "../QuantumSystem/QuantumSystem.hpp"
15 #include "../Terms/TermsEnum.hpp"
16 #include "../Terms/Hop/Hop.hpp"
17 #include "../Terms/OneBodyInteraction/OneBodyInteraction.hpp"
18 #include "../Terms/TwoBodyInteraction/TwoBodyInteraction.hpp"
19 #include "../Terms/CreatePair/CreatePair.hpp"
20 
21 #include <map>
22 #include <functional>
23 
24 namespace solid
25 {
26 
33 template <template <typename> class T1, typename T2>
34 using mapTermsFunction = std::map<TermsEnum, std::function<void(QuantumSystem<T1, T2> &)>>;
35 
42 template <template <typename> class T1, typename T2>
44 {
45 
52 
53 public:
58 
59 };
60 
61 } // namespace solid
62 
63 #endif
static mapTermsFunction< T1, T2 > CreateDict()
Create a Dict object.
Definition: TermsEnumConverter.cpp:17
std::map< TermsEnum, std::function< void(QuantumSystem< T1, T2 > &)>> mapTermsFunction
typedef for map between TermsEnum and corresponding function
Definition: TermsEnumConverter.hpp:34
static class for converting TermEnum into ITerm implementations
Definition: TermsEnumConverter.hpp:43
static mapTermsFunction< T1, T2 > dict
dictionary
Definition: TermsEnumConverter.hpp:57