mirror of
https://github.com/nasa/trick.git
synced 2024-12-22 14:32:24 +00:00
54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
|
|
#ifndef ENUMVALUES_HH
|
|
#define ENUMVALUES_HH
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <utility>
|
|
|
|
#include "ConstructValues.hh"
|
|
|
|
/**
|
|
|
|
EnumValues holds information describing a class found with ICG. The
|
|
information includes the name and location of the class, properties of the
|
|
class, and a vector list of the member data contained in the class.
|
|
|
|
The class also provides print routines for each function in the io_src.
|
|
|
|
@author Alexander S. Lin
|
|
|
|
@date July 2012
|
|
|
|
*/
|
|
|
|
class EnumValues : public ConstructValues {
|
|
|
|
public:
|
|
|
|
typedef std::pair< std::string , long long > NameValuePair ;
|
|
|
|
EnumValues() ;
|
|
|
|
void addEnum(std::string in_name , long long in_val) ;
|
|
|
|
void setHasDefinition( bool in ) ;
|
|
bool getHasDefinition() ;
|
|
|
|
const std::vector<NameValuePair>& getPairs() {
|
|
return enum_values;
|
|
}
|
|
|
|
friend std::ostream & operator << (std::ostream & os , EnumValues & ev ) ;
|
|
|
|
private:
|
|
|
|
/** List of enums and their values */
|
|
std::vector< NameValuePair > enum_values ;
|
|
|
|
bool has_definition ;
|
|
|
|
} ;
|
|
|
|
#endif
|