Ice Sheet System Model  4.18
Code documentation
Param.h
Go to the documentation of this file.
1 
5 #ifndef _PARAM_H_
6 #define _PARAM_H_
7 
8 /*Headers:*/
9 /*{{{*/
10 
11 #ifdef HAVE_CONFIG_H
12  #include <config.h>
13 #else
14 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
15 #endif
16 
17 #include "../../datastructures/datastructures.h"
18 #include "../Node.h"
19 /*}}}*/
20 
21 class Param: public Object{
22 
23  public:
24  virtual ~Param(){};
25 
26  /*Virtual functions:*/
27  virtual void DeepEcho()=0;
28  virtual Param* copy()=0;
29  virtual void Echo()=0;
30  virtual void GetParameterValue(bool* pbool)=0;
31  virtual void GetParameterValue(int* pinteger)=0;
32  virtual void GetParameterValue(int** pintarray,int* pM)=0;
33  virtual void GetParameterValue(int** pintarray,int* pM,int* pN)=0;
34  virtual void GetParameterValue(IssmDouble* pIssmDouble)=0;
35  virtual void GetParameterValue(IssmDouble* pdouble,IssmDouble time)=0;
36  virtual void GetParameterValue(IssmDouble* pdouble,int row, IssmDouble time){_error_("not implemented yet");};
37  virtual void GetParameterValue(char** pstring)=0;
38  virtual void GetParameterValue(char*** pstringarray,int* pM)=0;
39  virtual void GetParameterValue(IssmDouble** pIssmDoublearray,int* pM)=0;
40  virtual void GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN)=0;
41  virtual void GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims)=0;
42  virtual void GetParameterValue(Vector<IssmDouble>** pvec)=0;
43  virtual void GetParameterValue(Matrix<IssmDouble>** pmat)=0;
44  virtual void GetParameterValue(FILE** pfid)=0;
45  virtual void GetParameterValue(DataSet** pdataset)=0;
46  virtual int InstanceEnum()=0;
47  virtual void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction)=0;
48  virtual int ObjectEnum()=0;
49 
50  virtual void SetEnum(int enum_in)=0;
51  virtual void SetValue(bool boolean)=0;
52  virtual void SetValue(int integer)=0;
53  virtual void SetValue(IssmDouble scalar)=0;
54  virtual void SetValue(char* string)=0;
55  virtual void SetValue(char** stringarray,int M)=0;
56  virtual void SetValue(DataSet* dataset){_error_("not implemented yet");};
57  virtual void SetValue(IssmDouble* IssmDoublearray,int M)=0;
58  virtual void SetValue(IssmDouble* pIssmDoublearray,int M,int N)=0;
59  virtual void SetValue(int* intarray,int M)=0;
60  virtual void SetValue(int* pintarray,int M,int N)=0;
61  virtual void SetValue(Vector<IssmDouble>* vec)=0;
62  virtual void SetValue(Matrix<IssmDouble>* mat)=0;
63  virtual void SetValue(FILE* fid)=0;
64  virtual void SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array)=0;
65 };
66 #endif
Matrix< IssmDouble >
IssmDouble
double IssmDouble
Definition: types.h:37
Param
Definition: Param.h:21
Param::GetParameterValue
virtual void GetParameterValue(FILE **pfid)=0
Param::SetValue
virtual void SetValue(IssmDouble *pIssmDoublearray, int M, int N)=0
Param::SetValue
virtual void SetValue(IssmDouble *IssmDoublearray, int M)=0
Param::GetParameterValue
virtual void GetParameterValue(IssmDouble *pdouble, IssmDouble time)=0
Param::GetParameterValue
virtual void GetParameterValue(DataSet **pdataset)=0
Param::GetParameterValue
virtual void GetParameterValue(IssmDouble **pIssmDoublearray, int *pM)=0
Param::ObjectEnum
virtual int ObjectEnum()=0
Param::GetParameterValue
virtual void GetParameterValue(char **pstring)=0
Param::SetValue
virtual void SetValue(int *pintarray, int M, int N)=0
Param::GetParameterValue
virtual void GetParameterValue(char ***pstringarray, int *pM)=0
Param::~Param
virtual ~Param()
Definition: Param.h:24
Param::SetEnum
virtual void SetEnum(int enum_in)=0
Param::copy
virtual Param * copy()=0
Param::GetParameterValue
virtual void GetParameterValue(int **pintarray, int *pM, int *pN)=0
Param::SetValue
virtual void SetValue(Vector< IssmDouble > *vec)=0
Param::Echo
virtual void Echo()=0
Object
Definition: Object.h:13
Param::SetValue
virtual void SetValue(char *string)=0
Param::GetParameterValue
virtual void GetParameterValue(IssmDouble **pIssmDoublearray, int *pM, int *pN)=0
Param::SetValue
virtual void SetValue(int integer)=0
Param::Marshall
virtual void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)=0
Param::GetParameterValue
virtual void GetParameterValue(IssmDouble ***parray, int *pM, int **pmdims, int **pndims)=0
Param::SetValue
virtual void SetValue(IssmDouble scalar)=0
Param::DeepEcho
virtual void DeepEcho()=0
Param::SetValue
virtual void SetValue(int *intarray, int M)=0
Param::GetParameterValue
virtual void GetParameterValue(IssmDouble *pIssmDouble)=0
Param::GetParameterValue
virtual void GetParameterValue(int **pintarray, int *pM)=0
Param::SetValue
virtual void SetValue(DataSet *dataset)
Definition: Param.h:56
Param::SetValue
virtual void SetValue(Matrix< IssmDouble > *mat)=0
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
Param::SetValue
virtual void SetValue(char **stringarray, int M)=0
Param::GetParameterValue
virtual void GetParameterValue(Matrix< IssmDouble > **pmat)=0
Param::GetParameterValue
virtual void GetParameterValue(IssmDouble *pdouble, int row, IssmDouble time)
Definition: Param.h:36
Param::SetValue
virtual void SetValue(bool boolean)=0
DataSet
Declaration of DataSet class.
Definition: DataSet.h:14
Param::SetValue
virtual void SetValue(IssmDouble **array, int M, int *mdim_array, int *ndim_array)=0
Vector< IssmDouble >
Param::InstanceEnum
virtual int InstanceEnum()=0
Param::GetParameterValue
virtual void GetParameterValue(int *pinteger)=0
Param::SetValue
virtual void SetValue(FILE *fid)=0
Param::GetParameterValue
virtual void GetParameterValue(Vector< IssmDouble > **pvec)=0
Param::GetParameterValue
virtual void GetParameterValue(bool *pbool)=0