roadrunner  2.6.0
Fast simulator for SBML models
SetValuesCodeGen.h
1 /*
2  * GetValuesCodeGen.h
3  *
4  * Created on: Sept 16, 2013
5  * Author: andy
6  */
7 
8 #ifndef RRLLVMSETVALUESCODEGEN_H_
9 #define RRLLVMSETVALUESCODEGEN_H_
10 
11 #include "CodeGenBase.h"
12 #include "ModelGeneratorContext.h"
13 #include "SymbolForest.h"
14 #include "ASTNodeFactory.h"
15 #include "ModelDataIRBuilder.h"
16 #include "SetValueCodeGenBase.h"
17 #include <sbml/Model.h>
18 
19 namespace rrllvm
20 {
23  class SetBoundarySpeciesAmountCodeGen : public
24  SetValueCodeGenBase<SetBoundarySpeciesAmountCodeGen, true>
25  {
26  public:
27  SetBoundarySpeciesAmountCodeGen(const ModelGeneratorContext& mgc);
28  ~SetBoundarySpeciesAmountCodeGen() {};
29 
30  StringIntVector getIds();
31 
32  static const char* FunctionName;
33  static const char* IndexArgName;
34  };
35 
36  class SetFloatingSpeciesAmountCodeGen : public
37  SetValueCodeGenBase<SetFloatingSpeciesAmountCodeGen, true>
38  {
39  public:
40  SetFloatingSpeciesAmountCodeGen(const ModelGeneratorContext& mgc);
41  ~SetFloatingSpeciesAmountCodeGen() {};
42 
43  StringIntVector getIds();
44 
45  static const char* FunctionName;
46  static const char* IndexArgName;
47  };
48 
49  class SetBoundarySpeciesConcentrationCodeGen : public
50  SetValueCodeGenBase<SetBoundarySpeciesConcentrationCodeGen, false>
51  {
52  public:
53  SetBoundarySpeciesConcentrationCodeGen(const ModelGeneratorContext& mgc);
54  ~SetBoundarySpeciesConcentrationCodeGen() {};
55 
56  StringIntVector getIds();
57 
58  static const char* FunctionName;
59  static const char* IndexArgName;
60  };
61 
62  class SetFloatingSpeciesConcentrationCodeGen : public
63  SetValueCodeGenBase<SetFloatingSpeciesConcentrationCodeGen, false>
64  {
65  public:
66  SetFloatingSpeciesConcentrationCodeGen(const ModelGeneratorContext& mgc);
67  ~SetFloatingSpeciesConcentrationCodeGen() {};
68 
69  StringIntVector getIds();
70 
71  static const char* FunctionName;
72  static const char* IndexArgName;
73  };
74 
75  class SetCompartmentVolumeCodeGen : public
76  SetValueCodeGenBase<SetCompartmentVolumeCodeGen, false>
77  {
78  public:
79  SetCompartmentVolumeCodeGen(const ModelGeneratorContext& mgc);
80  ~SetCompartmentVolumeCodeGen() {};
81 
82  StringIntVector getIds();
83 
84  static const char* FunctionName;
85  static const char* IndexArgName;
86  };
87 
88  class SetGlobalParameterCodeGen : public
89  SetValueCodeGenBase<SetGlobalParameterCodeGen, false>
90  {
91  public:
92  SetGlobalParameterCodeGen(const ModelGeneratorContext& mgc);
93  ~SetGlobalParameterCodeGen() {};
94 
95  StringIntVector getIds();
96 
97  static const char* FunctionName;
98  static const char* IndexArgName;
99  };
100 
103 } /* namespace rrllvm */
104 #endif /* SETVALUESCODEGEN_H_ */