ESyS-Particle  4.0.1
CheckPointable.h
1 
2 // //
3 // Copyright (c) 2003-2011 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 ESYS_LSMCHECKPOINTABLE_H
15 #define ESYS_LSMCHECKPOINTABLE_H
16 
17 #include <iostream>
18 
19 namespace esys
20 {
21  namespace lsm
22  {
27  {
28  public:
30 
31  virtual ~CheckPointable();
32 
33  virtual void saveCheckPointData(std::ostream &oStream) = 0;
34  virtual void saveSnapShotData(std::ostream &oStream);
35 
36  virtual void loadCheckPointData(std::istream &iStream) = 0;
37  };
38  };
39 };
40 
41 #endif