2015-02-26 15:02:31 +00:00
|
|
|
/*
|
|
|
|
PURPOSE:
|
|
|
|
(Map between type name and attributes structure)
|
|
|
|
REFERENCE:
|
|
|
|
()
|
|
|
|
ASSUMPTIONS AND LIMITATIONS:
|
|
|
|
((Only 64 levels of nested input data file inclusion.))
|
|
|
|
PROGRAMMERS:
|
|
|
|
(((Alex Lin) (NASA) (1/12) (--) (--)))
|
|
|
|
*/
|
|
|
|
|
2015-03-23 21:03:14 +00:00
|
|
|
#ifndef PRIMITIVEATTRIBUTESMAP_HH
|
|
|
|
#define PRIMITIVEATTRIBUTESMAP_HH
|
2015-02-26 15:02:31 +00:00
|
|
|
|
|
|
|
#include <map>
|
|
|
|
#include <string>
|
|
|
|
|
2015-06-01 15:28:29 +00:00
|
|
|
#include "trick/attributes.h"
|
2015-02-26 15:02:31 +00:00
|
|
|
|
|
|
|
namespace Trick {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This map stores starting attributes structures keyed on the
|
|
|
|
* type name
|
|
|
|
*/
|
|
|
|
|
|
|
|
class PrimitiveAttributesMap {
|
|
|
|
|
|
|
|
public:
|
|
|
|
PrimitiveAttributesMap() ;
|
|
|
|
~PrimitiveAttributesMap() ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns a pointer to the singleton Trick::UnitsMap instance.
|
|
|
|
* @return A pointer to Trick::UnitsMap.
|
|
|
|
*/
|
|
|
|
static Trick::PrimitiveAttributesMap * attributes_map() ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the units for a specified variable.
|
|
|
|
* @param param The name of the variable.
|
|
|
|
* @return The units of a specified variable.
|
|
|
|
*/
|
|
|
|
ATTRIBUTES * get_attr( std::string param ) ;
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::map<std::string, ATTRIBUTES * > param_attr ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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_type( std::string param , TRICK_TYPE type , int size ) ;
|
|
|
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|