2015-03-23 21:03:14 +00:00
|
|
|
/*
|
|
|
|
PURPOSE:
|
|
|
|
(UnitsMap)
|
2015-02-26 15:02:31 +00:00
|
|
|
*/
|
|
|
|
|
2015-03-23 21:03:14 +00:00
|
|
|
#ifndef UNITSMAP_HH
|
|
|
|
#define UNITSMAP_HH
|
2015-02-26 15:02:31 +00:00
|
|
|
|
|
|
|
#include <map>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace Trick {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This map stores all the variables and their units and
|
|
|
|
* provides a convenient way of getting variables units.
|
|
|
|
*/
|
|
|
|
|
|
|
|
class UnitsMap {
|
2015-03-23 21:03:14 +00:00
|
|
|
|
2015-02-26 15:02:31 +00:00
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* Returns a pointer to the singleton Trick::UnitsMap instance.
|
|
|
|
* @return A pointer to Trick::UnitsMap.
|
|
|
|
*/
|
|
|
|
static Trick::UnitsMap * units_map() ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor.
|
|
|
|
*/
|
|
|
|
UnitsMap() {} ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Destructor.
|
|
|
|
*/
|
|
|
|
~UnitsMap() ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds a variable with specified units to the map.
|
|
|
|
* @param param The name of the variable.
|
|
|
|
* @param units The units of the variable.
|
|
|
|
*/
|
|
|
|
int add_param( std::string param , const char * units ) ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the units for a specified variable.
|
|
|
|
* @param param The name of the variable.
|
|
|
|
* @return The units of a specified variable.
|
|
|
|
*/
|
|
|
|
std::string get_units( std::string param ) ;
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::map<std::string, char * > param_units ;
|
|
|
|
static Trick::UnitsMap* pInstance ;
|
|
|
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|