00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __stringconverter_h
00030 #define __stringconverter_h
00031
00032 #if HAVE_CONFIG_H
00033 #include "config.h"
00034 #endif
00035
00036 #include <string>
00037 #include <sstream>
00038 #include <iostream>
00039
00041
00043
00044 namespace H {
00045
00047
00049
00055 template <class T>
00056 bool from_string(T& t, const std::string & s, std::ios_base & (*f) (std::ios_base&)) {
00057 std::istringstream iss(s);
00058 return !(iss >> f >> t).fail();
00059 }
00060
00067 class stringconverter : public std::string {
00068 public:
00069
00070
00071
00072 stringconverter(int Value);
00073 virtual ~stringconverter() throw() ;
00074
00075
00076 static std::string toLower(std::string const & convertee);
00077 static std::string toUpper(std::string const & convertee);
00078 };
00079
00081
00082 }
00083
00084 #endif // __stringconverter_h