00001 /* 00002 * The Mana World Server 00003 * Copyright 2004 The Mana World Development Team 00004 * 00005 * This file is part of The Mana World. 00006 * 00007 * The Mana World is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU General Public License as published by the Free 00009 * Software Foundation; either version 2 of the License, or any later version. 00010 * 00011 * The Mana World is distributed in the hope that it will be useful, but 00012 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00013 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00014 * more details. 00015 * 00016 * You should have received a copy of the GNU General Public License along 00017 * with The Mana World; if not, write to the Free Software Foundation, Inc., 00018 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 */ 00020 00021 #include "utils/string.hpp" 00022 00023 #include <cctype> 00024 #include <algorithm> 00025 #include <sstream> 00026 00027 std::string utils::toupper(std::string s) 00028 { 00029 std::transform(s.begin(), s.end(), s.begin(), (int(*)(int)) std::toupper); 00030 return s; 00031 } 00032 00033 bool utils::isNumeric(const std::string &s) 00034 { 00035 for (unsigned int i = 0; i < s.size(); ++i) 00036 { 00037 if (!isdigit(s[i])) 00038 { 00039 return false; 00040 } 00041 } 00042 00043 return true; 00044 } 00045 00046 int utils::stringToInt(const std::string &s) 00047 { 00048 int value; 00049 std::stringstream str(s); 00050 00051 // put the string into the int 00052 str >> value; 00053 00054 return value; 00055 }