00001
00007 #ifndef ChapiStringUtilities_h
00008 #define ChapiStringUtilities_h
00009 #include <vector>
00010 #include <map>
00011 #include <sstream>
00012 #include <iostream>
00013
00014 namespace chapi_string_utilities
00015 {
00016
00017
00018
00019
00020
00021
00022 template <class T>
00023 bool from_string(T& t,
00024 const std::string& s,
00025 std::ios_base& (*f)(std::ios_base&))
00026 {
00027 std::istringstream iss(s);
00028 return !(iss >> f >> t).fail();
00029 }
00030
00031 extern std::vector<std::string> slice(std::string A, std::string sep);
00032 extern std::map<std::string,std::string> associate_pieces(std::vector<std::string> v, std::string sep);
00033 extern void cut_string_after_sub(std::string& input, const std::string& sub);
00034 extern bool good_character(char* src);
00035 extern std::string filter_string(char* src);
00036 }
00037 #endif