1 |
#ifndef ASCXX_METHOD_H |
2 |
#define ASCXX_METHOD_H |
3 |
|
4 |
#include <string> |
5 |
|
6 |
#include "config.h" |
7 |
extern "C"{ |
8 |
#include <ascend/general/platform.h> |
9 |
#include <ascend/general/list.h> |
10 |
#include <ascend/compiler/instance_enum.h> |
11 |
#include <ascend/compiler/watchpt.h> |
12 |
|
13 |
#include <ascend/compiler/fractions.h> |
14 |
#include <ascend/compiler/compiler.h> |
15 |
#include <ascend/compiler/dimen.h> |
16 |
#include <ascend/compiler/expr_types.h> |
17 |
#include <ascend/compiler/proc.h> |
18 |
#include <ascend/compiler/initialize.h> |
19 |
|
20 |
} |
21 |
|
22 |
#include "symchar.h" |
23 |
|
24 |
/** |
25 |
Initialisation functions are specified |
26 |
in models using "METHOD" statements. |
27 |
|
28 |
This class acts as a holder for these funtions, so that they |
29 |
can be passed from a type to an instance via instanc.run(method). |
30 |
|
31 |
(@TODO rename this class to Method or similar) |
32 |
*/ |
33 |
class Method{ |
34 |
private: |
35 |
struct InitProcedure *initproc; |
36 |
public: |
37 |
Method(struct InitProcedure *initproc); |
38 |
Method(); |
39 |
Method(const Method &); |
40 |
~Method(); |
41 |
struct InitProcedure *getInternalType() const; |
42 |
const char *getName() const; |
43 |
SymChar getSym() const; |
44 |
}; |
45 |
|
46 |
#endif |