00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "Utils.h"
00020 using namespace std;
00021
00022 namespace utils {
00023
00024 void replace(string& where, const string& what, const string& by)
00025 {
00026 for (string::size_type i = where.find(what);
00027 i != string::npos;
00028 i = where.find(what, i + by.size()))
00029 where.replace(i, what.size(), by);
00030 }
00031
00032 bool start_with(const string& str, const string& what) {
00033 if (what.length() <= str.length())
00034 {
00035 string::const_iterator str_iter = str.begin();
00036 for (string::const_iterator i=what.begin(); i!=what.end();++i) {
00037 if (*i != *str_iter)
00038 return false;
00039 ++str_iter;
00040 }
00041 return true;
00042 }
00043 return false;
00044 }
00045
00046 bool end_with(const string& str, const string& what) {
00047 if (what.length() <= str.length())
00048 {
00049 string::const_iterator str_iter = str.begin();
00050 for (string::const_reverse_iterator i=what.rbegin(); i!=what.rend();++i) {
00051 if (*i != *str_iter)
00052 return false;
00053 ++str_iter;
00054 }
00055 return true;
00056 }
00057 return false;
00058 }
00059
00060 }
00061