libRoadRunner C++ API  1.0.0
 All Classes Functions Variables Enumerations Enumerator Pages
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  {
20  TIME = (0x1 << 0), // => 0x00000001,
21 
26  CONCENTRATION = (0x1 << 1),
27  AMOUNT = (0x1 << 2),
28 
29  RATE = (0x1 << 3),
30 
35  BOUNDARY = (0x1 << 4),
36  FLOATING = (0x1 << 5),
37 
44  _COMPARTMENT = (0x1 << 6),
45  _GLOBAL_PARAMETER = (0x1 << 7),
46 
47 
48  REACTION = (0x1 << 8),
49 
54  INITIAL = (0x1 << 9),
55  CURRENT = (0x1 << 10),
56  UNSCALED = (0x1 << 11),
57  ELASTICITY = (0x1 << 12),
58  CONTROL = (0x1 << 13),
59  EIGENVALUE = (0x1 << 14),
60  ELEMENT = (0x1 << 15),
61  STOICHIOMETRY = (0x1 << 16),
62  UNKNOWN = (0x1 << 17),
63  DEPENDENT = (0x1 << 18),
64  INDEPENDENT = (0x1 << 19),
65  CONSREVED_MOIETY = (0x1 << 20),
66 
67  UNKNOWN_CONCENTRATION = UNKNOWN | CONCENTRATION,
68 
72  COMPARTMENT = _COMPARTMENT | INDEPENDENT | DEPENDENT | CURRENT,
73 
77  GLOBAL_PARAMETER = _GLOBAL_PARAMETER | INDEPENDENT | DEPENDENT | CURRENT,
78 
82  FLOATING_AMOUNT = FLOATING | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
83  BOUNDARY_AMOUNT = BOUNDARY | AMOUNT | INDEPENDENT | DEPENDENT | CURRENT,
84 
88  BOUNDARY_CONCENTRATION = BOUNDARY | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
89  FLOATING_CONCENTRATION = FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT | CURRENT,
90 
95  FLOATING_AMOUNT_RATE = FLOATING | RATE | DEPENDENT,
96  FLOATING_CONCENTRATION_RATE = FLOATING | CONCENTRATION | RATE | DEPENDENT,
97 
101  REACTION_RATE = REACTION | RATE | DEPENDENT,
102 
106  INITIAL_FLOATING_AMOUNT = INITIAL | FLOATING | AMOUNT | INDEPENDENT | DEPENDENT,
107  INITIAL_FLOATING_CONCENTRATION = INITIAL | FLOATING | CONCENTRATION | INDEPENDENT | DEPENDENT,
108 
109 
110  UNSCALED_ELASTICITY = UNSCALED | ELASTICITY,
111  UNSCALED_CONTROL = UNSCALED | CONTROL,
112  UNKNOWN_ELEMENT = UNKNOWN | ELEMENT,
113  ALL = (0xffffffff),
114 
115  ALL_INDEPENDENT = ~DEPENDENT,
116  ALL_DEPENDENT = ~INDEPENDENT,
117 
118  ALL_INDEPENDENT_AMOUNT = ~DEPENDENT & ~CONCENTRATION,
119  ALL_DEPENDENT_AMOUNT = ~INDEPENDENT & ~CONCENTRATION,
120 
121  ALL_INDEPENDENT_CONCENTRATION = ~DEPENDENT & ~AMOUNT,
122  ALL_DEPENDENT_CONCENTRATION = ~INDEPENDENT & ~AMOUNT
123  };
124 
129  int index;
130 
135  string p1;
136 
140  string p2;
141 
146 
153  SelectionRecord(const int& index = 0,
154  const SelectionType type = UNKNOWN,
155  const string& p1 = "", const string& p2 = "");
156 
160  SelectionRecord(const std::string str);
161 
166  std::string to_string() const;
167 
172  std::string to_repr() const;
173 };
174 
175 ostream& operator<< (ostream& stream, const SelectionRecord& rec);
176 }
177 
178 
179 #endif
SelectionType
Definition: rrSelectionRecord.h:18
string p2
Definition: rrSelectionRecord.h:140
string p1
Definition: rrSelectionRecord.h:135
int index
Definition: rrSelectionRecord.h:129
Definition: rrSelectionRecord.h:15
SelectionType selectionType
Definition: rrSelectionRecord.h:145