| 42 | 
  | 
 * | 
| 43 | 
  | 
 *  Created by Charles F. Vardeman II on 11/16/05. | 
| 44 | 
  | 
 *  @author  Charles F. Vardeman II  | 
| 45 | 
< | 
 *  @version $Id: ParameterManager.hpp,v 1.6 2009-11-25 20:02:04 gezelter Exp $ | 
| 45 | 
> | 
 *  @version $Id$ | 
| 46 | 
  | 
 * | 
| 47 | 
  | 
 */ | 
| 48 | 
  | 
 | 
| 50 | 
  | 
#define UTILS_PARAMETERMANAGER_HPP | 
| 51 | 
  | 
 | 
| 52 | 
  | 
#include <iostream> | 
| 53 | 
+ | 
#include <cstdio> | 
| 54 | 
  | 
 | 
| 55 | 
  | 
#include <stdlib.h> | 
| 56 | 
  | 
#include <vector> | 
| 235 | 
  | 
bool have##NAME() { return !NAME.empty();}  \ | 
| 236 | 
  | 
TYPE get##NAME() { return NAME.getData();} | 
| 237 | 
  | 
 | 
| 238 | 
+ | 
#define DeclareAlterableParameter(NAME, TYPE)         \ | 
| 239 | 
+ | 
private:                                                   \ | 
| 240 | 
+ | 
Parameter<TYPE> NAME;                                     \ | 
| 241 | 
+ | 
public:                                                      \ | 
| 242 | 
+ | 
bool have##NAME() { return !NAME.empty();}  \ | 
| 243 | 
+ | 
TYPE get##NAME() { return NAME.getData();}  \ | 
| 244 | 
+ | 
bool set##NAME(TYPE s) { return NAME.setData(s);}  \ | 
| 245 | 
  | 
 | 
| 246 | 
  | 
 | 
| 247 | 
+ | 
 | 
| 248 | 
  | 
#define DefineParameter(NAME,KEYWORD)                              \ | 
| 249 | 
  | 
NAME.setKeyword(KEYWORD);                  \ | 
| 250 | 
  | 
parameters_.insert(std::map<std::string, ParameterBase*>::value_type(std::string(KEYWORD), static_cast<ParameterBase*>(&NAME))); |