PetaVision  Alpha
CheckpointEntryWeightPvp.hpp
1 /*
2  * CheckpointEntryDataStore.hpp
3  *
4  * Created on Oct 13, 2016
5  * Author: Pete Schultz
6  */
7 
8 #ifndef CHECKPOINTENTRYDATASTORE_HPP_
9 #define CHECKPOINTENTRYDATASTORE_HPP_
10 
11 #include "checkpointing/CheckpointEntry.hpp"
12 #include "components/Weights.hpp"
13 #include "include/pv_types.h"
14 #include <string>
15 
16 namespace PV {
17 
19  public:
21  std::string const &name,
22  MPIBlock const *mpiBlock,
23  Weights *weights,
24  bool compressFlag)
25  : CheckpointEntry(name, mpiBlock) {
26  initialize(weights, compressFlag);
27  }
29  std::string const &objName,
30  std::string const &dataName,
31  MPIBlock const *mpiBlock,
32  Weights *weights,
33  bool compressFlag)
34  : CheckpointEntry(objName, dataName, mpiBlock) {
35  initialize(weights, compressFlag);
36  }
37  virtual void write(std::string const &checkpointDirectory, double simTime, bool verifyWritesFlag)
38  const override;
39  virtual void read(std::string const &checkpointDirectory, double *simTimePtr) const override;
40  virtual void remove(std::string const &checkpointDirectory) const override;
41 
42  protected:
43  void initialize(Weights *weights, bool compressFlag);
44 
45  private:
46  Weights *mWeights = nullptr;
47  bool mCompressFlag;
48 };
49 
50 } // end namespace PV
51 
52 #endif // CHECKPOINTENTRYDATASTORE_HPP_