summaryrefslogtreecommitdiff
path: root/state_storable.hh
blob: 6637502254e73600c8b5535b52f2afd79faed56e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
  © Copyright 2008 Randal A. Koene <randalk@netmorph.org>
  
  With design assistance from J. van Pelt & A. van Ooyen, and support
  from the Netherlands Organization for Scientific Research (NWO)
  Program Computational Life Sciences grant CLS2003 (635.100.005) and
  from the EC Marie Curie Research and Training Network (RTN)
  NEURoVERS-it 019247.

  This file is part of NETMORPH.

  NETMORPH is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  NETMORPH is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with NETMORPH.  If not, see <http://www.gnu.org/licenses/>.
*/
// state_storable.hh
// Randal A. Koene, 20050827
//
// Class definitions that obligate state storable objects to provide specific
// functions that enable the storage and retrieval of simulation state.

#ifndef __STATE_STORABLE_HH
#define __STATE_STORABLE_HH

#include "BigString.hh"

/* Documentation:
   The state_storable class is inherited by all objects for which state needs
   to be stored and retrieved so that a simulation may be processed further at
   another time.
   The specific functions that are defined in the derived classes should
   call on a derivative object of state_file_format to store and retrieve
   such elemental things as numerical data, list syntax, etc.
 */

class state_storable {
protected:
  state_storable() {}
  virtual ~state_storable() {}
public:
  virtual String state_output();
  virtual void state_input(String s);
};

#endif