COPASI API  4.16.103
CExperimentFileInfo.h
Go to the documentation of this file.
1 /* Begin CVS Header
2  $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/parameterFitting/CExperimentFileInfo.h,v $
3  $Revision: 1.6 $
4  $Name: $
5  $Author: shoops $
6  $Date: 2011/03/07 19:32:04 $
7  End CVS Header */
8 
9 // Copyright (C) 2011 - 2010 by Pedro Mendes, Virginia Tech Intellectual
10 // Properties, Inc., University of Heidelberg, and The University
11 // of Manchester.
12 // All rights reserved.
13 
14 // Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
15 // Properties, Inc. and EML Research, gGmbH.
16 // All rights reserved.
17 
18 #ifndef COPASI_CExperimentFileInfo
19 #define COPASI_CExperimentFileInfo
20 
21 #include <string>
22 #include <vector>
23 
24 class CExperimentSet;
25 class CExperiment;
26 
27 /**
28  *
29  */
31 {
32 private:
33  /**
34  *
35  */
37  {
38  // Operations
39  private:
40  /**
41  *
42  */
44 
45  public:
46  /**
47  *
48  */
49  CExperimentInfo(CExperiment & Experiment);
50 
51  /**
52  *
53  */
55 
56  // Attributes
57  public:
58  /**
59  *
60  */
62 
63  /**
64  *
65  */
66  size_t First;
67 
68  /**
69  *
70  */
71  size_t Last;
72  };
73 
74  // Operations
75 private:
76  /**
77  *
78  */
80 
81 public:
82  /**
83  *
84  */
86 
87  /**
88  *
89  */
91 
92  /**
93  *
94  */
95  bool setFileName(const std::string & fileName);
96 
97  /**
98  *
99  */
100  const std::string & getFileName() const;
101 
102  /**
103  *
104  */
105  bool sync();
106 
107  /**
108  *
109  */
110  bool validate() const;
111 
112  /**
113  *
114  */
115  bool validateFirst(const size_t & index,
116  const size_t & value);
117 
118  /**
119  *
120  */
121  bool validateLast(const size_t & index,
122  const size_t & value);
123 
124  /**
125  *
126  */
127  bool validateHeader(const size_t & index,
128  const size_t & value);
129 
130  /**
131  *
132  */
133  std::vector< std::string > getExperimentNames() const;
134 
135  /**
136  *
137  */
138  CExperiment * getExperiment(const std::string & name);
139 
140  /**
141  *
142  */
143  bool getFirstUnusedSection(size_t & First,
144  size_t & Last);
145 
146  /**
147  *
148  */
149  bool getNextUnusedSection(size_t & First,
150  size_t & Last);
151 
152  /**
153  *
154  */
155  bool adjustForEmptyLines(size_t & First,
156  size_t & Last);
157 
158  // Attributes
159 private:
160  /**
161  *
162  */
164 
165  /**
166  *
167  */
168  std::string mFileName;
169 
170  /**
171  *
172  */
173  std::vector< CExperimentInfo * > mList;
174 
175  /**
176  *
177  */
178  size_t mLines;
179 
180  /**
181  *
182  */
183  size_t mUsedEnd;
184 
185  /**
186  *
187  */
188  std::vector< size_t > mEmptyLines;
189 };
190 
191 #endif // COPASI_CExperimentFileInfo
bool getFirstUnusedSection(size_t &First, size_t &Last)
std::vector< CExperimentInfo * > mList
bool validateLast(const size_t &index, const size_t &value)
const std::string & getFileName() const
bool adjustForEmptyLines(size_t &First, size_t &Last)
std::vector< size_t > mEmptyLines
bool setFileName(const std::string &fileName)
bool getNextUnusedSection(size_t &First, size_t &Last)
bool validateFirst(const size_t &index, const size_t &value)
std::vector< std::string > getExperimentNames() const
CExperimentSet * mpSet
bool validateHeader(const size_t &index, const size_t &value)
CExperiment * getExperiment(const std::string &name)