ESyS-Particle  2.2
CheckPointParams.h
Go to the documentation of this file.
1 
2 // //
3 // Copyright (c) 2003-2013 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 
14 #ifndef CHECKPOINTPARAMS_H
15 #define CHECKPOINTPARAMS_H
16 
17 #include <mpi.h>
18 
19 #include <string>
20 #include <iostream>
21 
22 
23 class AMPIBuffer;
24 
29 {
30 public:
31  CheckPointParams(const std::string &fileNamePrefix, int time, int rank, int prec);
32 
34 
38  std::string getFileName() const;
39  int getPrecision() const {return m_prec;};
40 
41  void packInto(AMPIBuffer *mpiBuff) const;
42  static CheckPointParams unpackFrom(AMPIBuffer *mpiBuff, MPI_Comm mpiComm=MPI_COMM_WORLD);
43 
44  //friend std::ostream& operator<<(std::ostream &oStream, const CheckPointParams &checkPointParams);
45 
46 protected:
48 
49 private:
53  std::string m_fileNamePrefix;
54 
58  int m_time;
59 
63  int m_rank;
64  int m_prec;
65 };
66 
67 #endif