From 69f2911e04ffb1b19eef1fafb8c040af271f656e Mon Sep 17 00:00:00 2001 From: Tor Aamodt Date: Thu, 15 Jul 2010 18:09:46 -0800 Subject: creating branch for adding support for CUDA 3.x and Fermi [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6829] --- src/intersim/config_utils.hpp | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/intersim/config_utils.hpp (limited to 'src/intersim/config_utils.hpp') diff --git a/src/intersim/config_utils.hpp b/src/intersim/config_utils.hpp new file mode 100644 index 0000000..86cc98e --- /dev/null +++ b/src/intersim/config_utils.hpp @@ -0,0 +1,45 @@ +#ifndef _CONFIG_UTILS_HPP_ +#define _CONFIG_UTILS_HPP_ + +#include +#include +#include + +extern int configparse( ); + +class Configuration { + static Configuration *theConfig; + FILE *_config_file; + +protected: + map _str_map; + map _int_map; + map _float_map; + +public: + Configuration( ); + + void AddStrField( const string &field, const string &value ); + + void Assign( const string &field, const string &value ); + void Assign( const string &field, unsigned int value ); + void Assign( const string &field, double value ); + + void GetStr( const string &field, string &value, const string &def = "" ) const; + unsigned int GetInt( const string &field, unsigned int def = 0 ) const; + double GetFloat( const string &field, double def = 0.0 ) const; + + void Parse( const string& filename ); + void Parse( const char* filename ); + + int Input( char *line, int max_size ); + void ParseError( const string &msg, unsigned int lineno ) const; + + static Configuration *GetTheConfig( ); +}; + +bool ParseArgs( Configuration *cf, int argc, char **argv ); + +#endif + + -- cgit v1.3