60 #define IR_IOERR(__keyword, __ir, __result) \ 61 __ir->report_error(this->giveClassName(), __func__, __keyword, __result, __FILE__, __LINE__); 69 #define IR_GIVE_FIELD(__ir, __value, __id) result = __ir->giveField(__value, __id); \ 70 if ( result != IRRT_OK ) { IR_IOERR(__id, __ir, result); } 78 #define IR_GIVE_OPTIONAL_FIELD(__ir, __value, __id) result = __ir->giveOptionalField(__value, __id); \ 79 if ( result != IRRT_OK ) { IR_IOERR(__id, __ir, result); } 86 #define IR_GIVE_RECORD_KEYWORD_FIELD(__ir, __name, __value) \ 87 result = __ir->giveRecordKeywordField(__name, __value); \ 88 if ( result != IRRT_OK ) { IR_IOERR("RecordIDField", __ir, result); } 117 virtual std :: string giveRecordAsString()
const = 0;
126 virtual IRResultType giveRecordKeywordField(std :: string &answer,
int &value) = 0;
129 virtual IRResultType giveRecordKeywordField(std :: string &answer) = 0;
131 virtual IRResultType giveField(
int &answer, InputFieldType
id) = 0;
133 virtual IRResultType giveField(
double &answer, InputFieldType
id) = 0;
135 virtual IRResultType giveField(
bool &answer, InputFieldType
id) = 0;
137 virtual IRResultType giveField(std :: string &answer, InputFieldType
id) = 0;
145 virtual IRResultType giveField(std :: vector< std :: string > &answer, InputFieldType
id) = 0;
149 virtual IRResultType giveField(std :: list< Range > &answer, InputFieldType
id) = 0;
161 IRResultType giveOptionalField(
int &answer, InputFieldType
id);
164 IRResultType giveOptionalField(
double &answer, InputFieldType
id);
166 IRResultType giveOptionalField(
bool &answer, InputFieldType
id);
168 IRResultType giveOptionalField(std :: string &answer, InputFieldType
id);
176 IRResultType giveOptionalField(std :: vector< std :: string > &answer, InputFieldType
id);
180 IRResultType giveOptionalField(std :: list< Range > &answer, InputFieldType
id);
186 virtual bool hasField(InputFieldType
id) = 0;
191 virtual void printYourself() = 0;
194 virtual void report_error(
const char *_class,
const char *proc, InputFieldType
id,
198 virtual void finish(
bool wrn =
true) = 0;
201 #endif // inputrecord_h
const char * InputFieldType
Identifier of fields in input records.
Class implementing an array of integers.
This class implements a linked list whose entries are Pairs (see below).
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
Implementation of Scalar function.
the oofem namespace is to define a context or scope in which all oofem names are defined.