ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/utils/StringUtils.cpp
(Generate patch)

Comparing trunk/src/utils/StringUtils.cpp (file contents):
Revision 544 by tim, Fri May 27 04:41:34 2005 UTC vs.
Revision 1024 by tim, Wed Aug 30 18:42:29 2006 UTC

# Line 38 | Line 38
38   * University of Notre Dame has been advised of the possibility of
39   * such damages.
40   */
41 <
41 >
42 > #include <algorithm>
43   #include "utils/StringUtils.hpp"
44  
45   namespace oopse {
# Line 217 | Line 218 | namespace oopse {
218      return str.substr(0, str.find('.'));
219    }
220  
221 + bool isInteger(const std::string& str) {
222 +
223 +    bool result = false;
224 +
225 +    std::string::const_iterator i = str.begin();    
226 +    if (i != str.end() && (*i == '+' || *i == '-' || std::isdigit(*i) )) {
227 +        ++i;        
228 +        while (i != str.end() && std::isdigit(*i))
229 +            ++i;
230 +        if (i == str.end())
231 +            result = true;
232 +    }
233 +    
234 +    return result;
235   }
236 +
237 + bool CaseInsensitiveEquals(const char ch1, const char ch2) {
238 +  return std::toupper((unsigned char)ch1) == std::toupper((unsigned char)ch2);
239 + }
240 +
241 + size_t CaseInsensitiveFind(const std::string& str1, const std::string& str2) {
242 +  std::string::const_iterator pos = std::search(str1.begin(), str1.end(), str2.begin(), str2.end(), CaseInsensitiveEquals);
243 +  if (pos == str1.end())
244 +    return std::string::npos;
245 +  else
246 +    return pos - str1.begin();
247 + }
248 +
249 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines