metacc_utils.h

00001 #ifndef __METACC_UTILS_H__
00002 #define __METACC_UTILS_H__
00003 
00004 #include "vector"
00005 #include "string"
00006 
00007 namespace MetaCC
00008 {
00010     std::string int2str(int n)
00011     {
00012         std::string s;
00013         while (n) {
00014             s = std::string(1, n % 10 + '0') + s;
00015             n /= 10;
00016         }
00017         if (s.length() == 0)
00018             s = "0";
00019         return s;
00020     }
00021 
00023     std::string str_replace_all(std::string str, std::string substr, std::string replacement)
00024     {
00025         std::string             result;
00026         std::string::size_type  p           = 0;
00027         std::string::size_type  last_p      = 0;
00028         std::string::size_type  str_len     = str.length();
00029         std::string::size_type  substr_len  = substr.length();
00030 
00031         while (std::string::npos != (p = str.find(substr, p))) {
00032             result += str.substr(last_p, p - last_p) + replacement;
00033             last_p = p = p + substr_len;
00034         }
00035         result += str.substr(last_p, str_len - last_p);
00036 
00037         return result;
00038     }
00039 }
00040 
00041 #endif

Generated on Sat Sep 9 03:50:44 2006 for Openem APIs by  doxygen 1.4.7