| 51 | 
  | 
#endif // is_mpi | 
| 52 | 
  | 
 | 
| 53 | 
  | 
#include "io/ParamConstraint.hpp" | 
| 54 | 
– | 
 | 
| 55 | 
– | 
#define DefineParameter(NAME,KEYWORD)                              \ | 
| 56 | 
– | 
  NAME.setKeyword(KEYWORD);                  \ | 
| 57 | 
– | 
  parameters_.insert(std::make_pair(std::string(KEYWORD),  &NAME)); | 
| 58 | 
– | 
 | 
| 59 | 
– | 
#define DefineOptionalParameter(NAME,KEYWORD)                              \ | 
| 60 | 
– | 
  NAME.setKeyword(KEYWORD); NAME.setOptional(true);                    \ | 
| 61 | 
– | 
  parameters_.insert(std::make_pair(std::string(KEYWORD),  &NAME)); | 
| 62 | 
– | 
 | 
| 63 | 
– | 
#define DefineOptionalParameterWithDefaultValue(NAME,KEYWORD, DEFAULTVALUE)                              \ | 
| 64 | 
– | 
  NAME.setKeyword(KEYWORD); NAME.setOptional(true); NAME.setDefaultValue(DEFAULTVALUE);                      \ | 
| 65 | 
– | 
  parameters_.insert(std::make_pair(std::string(KEYWORD),  &NAME)); | 
| 54 | 
  | 
 | 
| 67 | 
– | 
#define CheckParameter(NAME, CONSTRAINT)                              \ | 
| 68 | 
– | 
  if (!NAME.empty()) { if (!(CONSTRAINT)(NAME.getData())) { sprintf(painCave.errMsg,"Error in checking %s : should be %s\n",NAME.getKeyword().c_str(),(CONSTRAINT).getConstraintDescription().c_str()); painCave.isFatal = 1; painCave.severity = OOPSE_ERROR; simError();} }                  | 
| 55 | 
  | 
 | 
| 56 | 
  | 
Globals::Globals(){ | 
| 57 | 
  | 
  |