Qualia  0.2
Observation.h
Go to the documentation of this file.
1 /*
2  * Observation.h
3  *
4  * Represent observations returned by the environment to the agents.
5  *
6  * This file is part of Qualia https://github.com/sofian/qualia
7  *
8  * (c) 2011 Sofian Audry -- info(@)sofianaudry(.)com
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef OBSERVATION_H_
25 #define OBSERVATION_H_
26 
27 #include <qualia/core/common.h>
28 #include <qualia/core/XFile.h>
29 #include <string.h>
30 
32 
41 class Observation {
42 public:
45 
47  unsigned int _dim;
48 
50  bool terminal;
51 
53  Observation(unsigned int dim);
54 
55  // Class desctructor.
56  virtual ~Observation();
57 
59  observation_t& operator[](int i) const { return observations[i]; }
60 
62  virtual Observation& copyFrom(const Observation& src);
63 
65  unsigned int dim() const { return _dim; }
66 
68  virtual void saveData(XFile* file) const;
69 
71  virtual void loadData(XFile* file);
72 };
73 
74 #endif /* OBSERVATION_H_ */