String.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  *  String.h
00003  *
00004  *  (C) 2007 AG Aktives Sehen <agas@uni-koblenz.de>
00005  *           Universitaet Koblenz-Landau
00006  *
00007  *  Additional information:
00008  *  $Id: $
00009  *******************************************************************************/
00010 
00011 #ifndef String_H
00012 #define String_H
00013 
00014 #include <string>
00015 #include <sstream>
00016 #include <vector>
00017 #include <iostream>
00018 
00024 class String
00025 {
00026         public:
00027 
00029                 String();
00030 
00032                 ~String();
00033 
00034                 static std::string upCase ( std::string text );
00035 
00036                 static std::string downCase ( std::string text );
00037 
00038                 static std::string removeCharacters ( std::string text, std::string characters );
00039 
00043                 static std::vector<std::string> explode ( const std::string& text, const std::string& separators, bool keepSeparators = false );
00044 
00045                 template<class C>
00046                 inline static std::string implode ( C& container, const std::string& separator )
00047                 {
00048                         typename C::const_iterator it;
00049                         typename C::const_iterator it2;
00050                         std::string result = "";
00051                         for ( it = container.begin() ; it != container.end(); ++it )
00052                         {
00053                                 it2 = it;
00054                                 it2++;
00055                                 if ( it2 != container.end() )
00056                                 {
00057                                         result += *it + separator;
00058                                 }
00059                                 else
00060                                 {
00061                                         result += *it;
00062                                 }
00063                         }
00064                         return result;
00065                 }
00066 
00067                 template<class T>
00068                 inline static std::vector<T> convertTo ( std::vector<std::string> strVec )
00069                 {
00070                         std::vector<T> tVec;
00071                         tVec.resize ( strVec.size() );
00072 
00073                         for ( unsigned i = 0; i < strVec.size(); i++ )
00074                         {
00075                                 std::stringstream s;
00076                                 s << strVec[i];
00077                                 s >> tVec[i];
00078                         }
00079                         return tVec;
00080                 }
00081 
00084                 template<class T>
00085                 inline static T convertTo ( std::string str )
00086                 {
00087                         std::stringstream s;
00088                         T t;
00089                         s << str;
00090                         s >> t;
00091                         return t;
00092                 }
00093 
00095                 template<class T>
00096                 inline static std::string toString ( T value )
00097                 {
00098                         std::ostringstream s;
00099                         s << value;
00100                         return s.str();
00101                 }
00102 
00103         private:
00104 
00105 };
00106 
00107 #endif


robbie_architecture
Author(s): Viktor Seib
autogenerated on Mon Oct 6 2014 02:53:09