1#ifndef included_AMP_Vector_VectorOperationsFactory
2#define included_AMP_Vector_VectorOperationsFactory
4#include "AMP/utils/FactoryStrategy.hpp"
14class VectorOperations;
16template<
class VECTOROPERATIONS>
17std::unique_ptr<VECTOROPERATIONS>
20 return std::make_unique<VECTOROPERATIONS>( fid, manager );
32 return singletonInstance;
36 static std::shared_ptr<VectorOperations>
create( int64_t fid,
40 template<
class VECTOROPERATIONS>
43 FactoryStrategy<VectorOperations, int64_t, AMP::IO::RestartManager *>::registerFactory(
44 name, createVectorOperationsFromRestart<VECTOROPERATIONS> );
Class to manage reading/writing restart data.
static VectorOperationsFactory & getFactory()
get a singleton instance of the factory
static std::shared_ptr< VectorOperations > create(int64_t fid, AMP::IO::RestartManager *manager)
Create the vector from the restart file.
static void registerVectorOperations(const std::string &name)
Register a vector with the factory.
std::unique_ptr< VECTOROPERATIONS > createVectorOperationsFromRestart(int64_t fid, AMP::IO::RestartManager *manager)