Main Page | Class Hierarchy | Class List | File List | Class Members

GearParametersImpl.h

00001 #ifndef GEAR_GearParametersImpl_H
00002 #define GEAR_GearParametersImpl_H 1
00003 
00004 #include <map>
00005 
00006 #include "gear/GearParameters.h"
00007 #include "gear/GEAR.h"
00008 
00009 namespace gear {
00010     
00019   class GearParametersImpl : virtual public GearParameters {
00020         
00021   public: 
00022 
00023     typedef std::map< std::string, int > IntMap ;
00024     typedef std::map< std::string, double > DoubleMap ;
00025     typedef std::map< std::string, std::string > StringMap ;
00026     typedef std::map< std::string, IntVec > IntVecMap ;
00027     typedef std::map< std::string, DoubleVec > DoubleVecMap ;
00028     typedef std::map< std::string, StringVec > StringVecMap ;
00029         
00030         
00032     virtual ~GearParametersImpl() ;
00033         
00037     virtual int getIntVal(const std::string & key) const throw (UnknownParameterException, std::exception ) ;
00038         
00042     virtual double getDoubleVal(const std::string & key) const throw (UnknownParameterException, std::exception ) ;
00043         
00047     virtual const std::string & getStringVal(const std::string & key) const 
00048       throw (UnknownParameterException, std::exception ) ;
00049         
00053     virtual const std::vector<int>  & getIntVals(const std::string & key) const 
00054       throw (UnknownParameterException, std::exception ) ;
00055         
00059     virtual const std::vector<double>  & getDoubleVals(const std::string & key) const 
00060       throw (UnknownParameterException, std::exception ) ;
00061         
00065     virtual const std::vector<std::string>  & getStringVals(const std::string & key) const 
00066       throw (UnknownParameterException, std::exception ) ;
00067         
00068     // setters
00069 
00072     virtual void  setIntVal(const std::string & key , int val ) ;
00073         
00076     virtual void  setDoubleVal(const std::string & key, double val ) ;
00077         
00080     virtual void  setStringVal(const std::string & key , const std::string & val) ;
00081         
00084     virtual void  setIntVals(const std::string & key, const std::vector<int>& vals) ;
00085         
00088     virtual void  setDoubleVals(const std::string & key, const std::vector<double>& vals) ;
00089         
00092     virtual void  setStringVals(const std::string & key, const std::vector<std::string>& vals) ;
00093 
00094 
00095 
00097     virtual const std::vector<std::string>  & getIntKeys() const ;
00098 
00100     virtual const std::vector<std::string>  & getDoubleKeys() const ;
00101 
00103     virtual const std::vector<std::string>  & getStringKeys() const ;
00104 
00106     virtual const std::vector<std::string>  & getIntVecKeys() const ;
00107 
00109     virtual const std::vector<std::string>  & getDoubleVecKeys() const ;
00110 
00112     virtual const std::vector<std::string>  & getStringVecKeys() const ;
00113 
00114   protected:
00115     
00116     // maps holding named parameters
00117     std::map< std::string, int > _intMap ;
00118     std::map< std::string, double > _doubleMap ;
00119     std::map< std::string, std::string > _stringMap ;
00120     std::map< std::string, IntVec > _intVecMap ;
00121     std::map< std::string, DoubleVec > _doubleVecMap ;
00122     std::map< std::string, StringVec > _stringVecMap ;
00123 
00124     mutable StringVec _intKeys ;
00125     mutable StringVec _doubleKeys ;
00126     mutable StringVec _stringKeys ;
00127     mutable StringVec _intVecKeys ;
00128     mutable StringVec _doubleVecKeys ;
00129     mutable StringVec _stringVecKeys ;
00130               
00131 
00132   }; // class
00133 } // namespace gear
00134 
00135 #endif /* ifndef GEAR_GEARPARAMETERS_H */

Generated on Tue Sep 5 11:36:29 2006 for Gear by doxygen 1.3.5