C API Documentation
rrSelectionRecord.h
1 #ifndef rrSelectionRecordH
2 #define rrSelectionRecordH
3 #include "rrExporter.h"
4 #include <ostream>
5 #include <string>
6 
7 namespace rr
8 {
9 using std::string;
10 using std::ostream;
11 
15 class RR_DECLSPEC SelectionRecord
16 {
17 public:
19  {
23  TIME = (0x1 << 0), // => 0x00000001,
24 
29  CONCENTRATION = (0x1 << 1),
30 
35  AMOUNT = (0x1 << 2),
36 
40  RATE = (0x1 << 3),
41 
46  BOUNDARY = (0x1 << 4),
51  FLOATING = (0x1 << 5),
52 
59  _COMPARTMENT = (0x1 << 6),
60 
67  _GLOBAL_PARAMETER = (0x1 << 7),
68 
72  REACTION = (0x1 << 8),
73 
78  INITIAL = (0x1 << 9),
79 
84  CURRENT = (0x1 << 10),
85 
89  UNSCALED = (0x1 << 11),
90 
94  ELASTICITY = (0x1 << 12),
95 
99  CONTROL = (0x1 << 13),
100 
104  EIGENVALUE_REAL = (0x1 << 14),
105 
109  ELEMENT = (0x1 << 15),
110 
114  STOICHIOMETRY = (0x1 << 16),
115 
119  UNKNOWN = (0x1 << 17),
120 
124  DEPENDENT = (0x1 << 18),
125 
129  INDEPENDENT = (0x1 << 19),
130 
134  CONSERVED_MOIETY = (0x1 << 20),
135 
139  STATE_VECTOR = (0x1 << 21),
140 
144  EVENT = (0x1 << 22),
145 
151  EIGENVALUE_IMAG = (0x1 << 23),
152 
156  EIGENVALUE_COMPLEX = EIGENVALUE_REAL | EIGENVALUE_IMAG,
157 
161  UNKNOWN_CONCENTRATION = UNKNOWN | CONCENTRATION,
162 
166  COMPARTMENT = _COMPARTMENT | INDEPENDENT | DEPENDENT | CURRENT,
167 
171  GLOBAL_PARAMETER = _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT | CURRENT,
172 
176  FLOATING_AMOUNT = FLOATING | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
177 
181  INDEPENDENT_FLOATING_AMOUNT = FLOATING | AMOUNT | INDEPENDENT | CURRENT,
182 
186  DEPENDENT_FLOATING_AMOUNT = FLOATING | AMOUNT | DEPENDENT | CURRENT,
187 
191  BOUNDARY_AMOUNT = BOUNDARY | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
192 
196  BOUNDARY_CONCENTRATION = BOUNDARY | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
197 
201  FLOATING_CONCENTRATION = FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
202 
207  FLOATING_AMOUNT_RATE = FLOATING | RATE | DEPENDENT,
208 
213  FLOATING_CONCENTRATION_RATE = FLOATING | CONCENTRATION | RATE | DEPENDENT,
214 
215 
219  GLOBAL_PARAMETER_RATE = _GLOBAL_PARAMETER | RATE,
220 
224  REACTION_RATE = REACTION | RATE | DEPENDENT,
225 
229  INITIAL_AMOUNT = INITIAL | AMOUNT | INDEPENDENT | DEPENDENT,
230 
234  INITIAL_FLOATING_AMOUNT = INITIAL | FLOATING | AMOUNT | INDEPENDENT | DEPENDENT,
235 
239  INITIAL_CONCENTRATION = INITIAL | CONCENTRATION | INDEPENDENT | DEPENDENT,
240 
244  INITIAL_FLOATING_CONCENTRATION = INITIAL | FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT,
245 
249  INITIAL_COMPARTMENT = INITIAL | _COMPARTMENT | INDEPENDENT | DEPENDENT,
250 
254  INITIAL_GLOBAL_PARAMETER = INITIAL | _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT,
255 
256 
260  DEPENDENT_INITIAL_GLOBAL_PARAMETER = INITIAL | _GLOBAL_PARAMETER | DEPENDENT,
261 
265  UNSCALED_ELASTICITY = UNSCALED | ELASTICITY,
266 
270  UNSCALED_CONTROL = UNSCALED | CONTROL,
271 
275  UNKNOWN_ELEMENT = UNKNOWN | ELEMENT,
276 
280  ALL = (0xffffffff),
281 
285  ALL_INDEPENDENT = ~DEPENDENT,
286 
290  ALL_DEPENDENT = ~INDEPENDENT,
291 
295  ALL_INDEPENDENT_AMOUNT = ~DEPENDENT & ~CONCENTRATION,
296 
300  ALL_DEPENDENT_AMOUNT = ~INDEPENDENT & ~CONCENTRATION,
301 
305  ALL_INDEPENDENT_CONCENTRATION = ~DEPENDENT & ~AMOUNT,
306 
310  ALL_DEPENDENT_CONCENTRATION = ~INDEPENDENT & ~AMOUNT,
311 
312 
322  MODEL_STATE = ALL_INDEPENDENT_AMOUNT & ~INITIAL,
323 
324 
331  SBML_INITIALIZE = STATE_VECTOR // the STATE_VECTOR options
332  // is used here because it is
333  // not used anywhere else in
334  // the reset options, and gives
335  // the indication that everything is set,
336  // mostly it saves a not wasting a bit value.
337  };
338 
343  int index;
344 
349  string p1;
350 
354  string p2;
355 
360 
367  SelectionRecord(const int& index = 0,
368  const SelectionType type = UNKNOWN,
369  const string& p1 = "", const string& p2 = "");
370 
374  SelectionRecord(const std::string str);
375 
380  std::string to_string() const;
381 
386  std::string to_repr() const;
387 };
388 
389 ostream& operator<< (ostream& stream, const SelectionRecord& rec);
390 }
391 
392 
393 #endif
Definition: rrSelectionRecord.h:16
std::string to_string() const
SelectionRecord(const int &index=0, const SelectionType type=UNKNOWN, const string &p1="", const string &p2="")
SelectionRecord(const std::string str)
string p2
Definition: rrSelectionRecord.h:354
int index
Definition: rrSelectionRecord.h:343
SelectionType
Definition: rrSelectionRecord.h:19
std::string to_repr() const
string p1
Definition: rrSelectionRecord.h:349
SelectionType selectionType
Definition: rrSelectionRecord.h:359