00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef UTIL_H
00020 #define UTIL_H
00021
00022 #include <string>
00023 #include <vector>
00024 #include "istring.h"
00025
00026 namespace Pentagram {
00027
00028 template<class T> T to_uppercase(const T s);
00029
00030 template<class T> void StringToArgv(const T &args, std::vector<T> &argv);
00031 template<class T> void ArgvToString(const std::vector<T> &argv, T &args);
00032
00033
00034 template<class T> void TrimSpaces(T& str);
00035
00036 template<class T> void TabsToSpaces(T& str, unsigned int nspaces);
00037
00038 template<class T> void SplitString(const T &args, char sep,
00039 std::vector<T> &argv);
00040
00041 template<class T> void SplitStringKV(const T &args, char sep,
00042 std::vector<std::pair<T,T> > &argv);
00043
00044
00045
00046 }
00047
00048 #endif