1 |
#ifndef SWIG_TYPE_H |
2 |
#define SWIG_TYPE_H |
3 |
|
4 |
#include <vector> |
5 |
|
6 |
extern "C"{ |
7 |
#include <utilities/ascConfig.h> |
8 |
#include <fractions.h> |
9 |
#include <compiler/compiler.h> |
10 |
#include <compiler/dimen.h> |
11 |
#include <compiler/child.h> |
12 |
#include <general/list.h> |
13 |
#include <compiler/module.h> |
14 |
#include <compiler/childinfo.h> |
15 |
#include <compiler/slist.h> |
16 |
#include <compiler/type_desc.h> |
17 |
} |
18 |
|
19 |
class Simulation; |
20 |
|
21 |
#include "symchar.h" |
22 |
#include "method.h" |
23 |
#include "dimensions.h" |
24 |
|
25 |
/** |
26 |
A model type as loaded from an ASCEND a4c file. For example, a type |
27 |
might be a 'test_controller' from the simple_fs.a4l example file. |
28 |
|
29 |
Once you have a type, you can create an instance of it (getInstance) |
30 |
which will then allow you to start on solving it. |
31 |
*/ |
32 |
class Type{ |
33 |
private: |
34 |
const TypeDescription *t; |
35 |
|
36 |
public: |
37 |
Type(); |
38 |
Type(const TypeDescription *t); |
39 |
const SymChar getName() const; |
40 |
const int getParameterCount() const; |
41 |
const TypeDescription *getInternalType() const; |
42 |
Simulation getSimulation(SymChar name); |
43 |
const Dimensions getDimensions() const; |
44 |
std::vector<Method> getMethods() const; |
45 |
const bool isRefinedSolverVar() const; ///< is this type a refinement of solver_var? |
46 |
const bool isRefinedAtom() const; |
47 |
const bool isRefinedReal() const; |
48 |
const bool isRefinedConstant() const; |
49 |
const bool hasParameters() const; |
50 |
}; |
51 |
|
52 |
#endif |