|
STK++ 1.0
|
00001 /*--------------------------------------------------------------------*/ 00002 /* Copyright (C) 2004-2007 Serge Iovleff 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU Lesser General Public License as 00006 published by the Free Software Foundation; either version 2 of the 00007 License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU Lesser General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public 00015 License along with this program; if not, write to the 00016 Free Software Foundation, Inc., 00017 59 Temple Place, 00018 Suite 330, 00019 Boston, MA 02111-1307 00020 USA 00021 00022 Contact : Serge.Iovleff@stkpp.org 00023 */ 00024 00025 /* 00026 * Project: Base 00027 * Purpose: Define miscenaleous utility functions for Strings. 00028 * Author: Serge Iovleff, serge.iovleff@stkpp.org 00029 * 00030 **/ 00031 00037 #include "../include/STK_String_Util.h" 00038 00039 namespace STK 00040 { 00041 /* Overloading of the istream >> for the type String. **/ 00042 istream& operator >> (istream& is, Proxy<String>& input) 00043 { 00044 String buff; 00045 is >> buff; 00046 if (buff == STRING_NA) 00047 input = Arithmetic<String>::NA(); 00048 else 00049 input = buff; 00050 return is; 00051 } 00052 00053 00054 /* @ingroup Base 00055 * @brief convert a character of the String to uppercase 00056 * 00057 * @param s The String to convert 00058 **/ 00059 String& toUpperString( String& s) 00060 { 00061 // iterate along the String 00062 for (String::iterator it = s.begin(); it != s.end(); ++it) 00063 { *it = std::toupper(*it);} 00064 // return upper cased string 00065 return s; 00066 } 00067 00068 /* @ingroup Base 00069 * @brief convert a character of the String to uppercase 00070 * 00071 * @param s The String to convert 00072 **/ 00073 String toUpperString( String const& s) 00074 { 00075 String res(s); 00076 toUpperString(res); 00077 return res; 00078 } 00079 00080 00081 } // namespace STK 00082