39template <
class ImplementationPolicy>
48 std::unique_ptr<BaseHmcCheckpointer<ImplementationPolicy> >
CheckPointPtr;
54 template <
class ReaderClass>
58 std::cout << this->
Par_ << std::endl;
74template <
char const *str,
class ImplementationPolicy,
class ReaderClass >
76 :
public Factory < HMCModuleBase< BaseHmcCheckpointer<ImplementationPolicy> > , Reader<ReaderClass> > {
90 return std::string(str);
98template<
class ImplementationPolicy>
101 using CPBase::CPBase;
108 constexpr static const char*
const Name =
"Binary";
112template<
class ImplementationPolicy>
115 using CPBase::CPBase;
122 constexpr static const char*
const Name =
"Nersc";
128template<
class ImplementationPolicy>
131 using CPBase::CPBase;
135 this->CheckPointPtr.reset(
new ILDGHmcCheckpointer<ImplementationPolicy>(this->Par_));
138 constexpr static const char*
const Name =
"ILDG";
141template<
class ImplementationPolicy,
class Metadata>
143 typedef CheckPointerModule< ImplementationPolicy> CPBase;
148 this->CheckPointPtr.reset(
new ScidacHmcCheckpointer<ImplementationPolicy, Metadata>(this->Par_, M));
151 ScidacCPModule(
typename CPBase::APar Par, Metadata M_):M(M_), CPBase(Par) {}
152 template <
class ReaderClass>
153 ScidacCPModule(Reader<ReaderClass>& Reader) : Parametrized<typename CPBase::APar>(Reader), M(Reader){};
155 constexpr static const char*
const Name =
"Scidac";
#define NAMESPACE_BEGIN(A)
CheckPointerModule< ImplementationPolicy > CPBase
virtual void initialize()
static constexpr const char *const Name
virtual void initialize()=0
CheckPointerModule(Reader< ReaderClass > &Reader)
CheckPointerModule(APar Par)
virtual void print_parameters()
std::unique_ptr< BaseHmcCheckpointer< ImplementationPolicy > > CheckPointPtr
HMCModuleBase< BaseHmcCheckpointer< ImplementationPolicy > > Base
CheckpointerParameters APar
BaseHmcCheckpointer< ImplementationPolicy > Product
Reader< ReaderClass > TheReader
HMC_CPModuleFactory(const HMC_CPModuleFactory &e)=delete
HMC_CPModuleFactory(void)=default
void operator=(const HMC_CPModuleFactory &e)=delete
std::string obj_type() const
static HMC_CPModuleFactory & getInstance(void)
CheckPointerModule< ImplementationPolicy > CPBase
static constexpr const char *const Name
virtual void initialize()
Parametrized(Parameters Par)