"Fossies" - the Fresh Open Source Software Archive

Member "ansifilter-2.18/src/stringtools.h" (30 Jan 2021, 2324 Bytes) of package /linux/privat/ansifilter-2.18.tar.bz2:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "stringtools.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 2.14_vs_2.15.

    1 /***************************************************************************
    2                           stringtools.h  -  description
    3                              -------------------
    4     begin                : Mon Dec 10 2001
    5     copyright            : (C) 2001 by Andre Simon
    6     email                : a.simon@mailbox.org
    7  ***************************************************************************/
    8 
    9 /*
   10 This file is part of ANSIFilter.
   11 
   12 ANSIFilter is free software: you can redistribute it and/or modify
   13 it under the terms of the GNU General Public License as published by
   14 the Free Software Foundation, either version 3 of the License, or
   15 (at your option) any later version.
   16 
   17 ANSIFilter is distributed in the hope that it will be useful,
   18 but WITHOUT ANY WARRANTY; without even the implied warranty of
   19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   20 GNU General Public License for more details.
   21 
   22 You should have received a copy of the GNU General Public License
   23 along with ANSIFilter.  If not, see <http://www.gnu.org/licenses/>.
   24 */
   25 
   26 #ifndef STRINGTOOLS_H
   27 #define STRINGTOOLS_H
   28 
   29 #include <string>
   30 #include <vector>
   31 #include <sstream>
   32 
   33 using namespace std;
   34 
   35 /// Contains methods for string manipulation
   36 
   37 namespace StringTools
   38 {
   39 
   40 /** convert string to lowercase
   41     \param s String
   42     \returns lowercase string  */
   43 string lowerCase(const string &s);
   44 
   45 /** convert string to uppercase
   46     \param s String
   47     \returns uppercase string  */
   48 string upperCase(const string &s);
   49 
   50 
   51 /** \param value String
   52    \return string trimmed on the left side
   53 */
   54 string trimRight(const string &value);
   55 
   56 /** \param s String, containing a opening and a closing paranthesis
   57      \return value between "(", ")" */
   58 string getParantheseVal(const string &s);
   59 
   60 /** \param s string containing tokens
   61     \param delim Token delimiter
   62     \return vector containing found tokens */
   63 vector <string> splitString(const string& s, unsigned char delim);
   64 
   65 /** \param val variable of specified type which will contain the numeric value
   66     \param s string containing a number
   67     \param f format specifier function (IO manipulator)
   68     \return true if successful */
   69 template <class T>
   70 bool str2num(T &val, const std::string& s, std::ios_base& (*f)(std::ios_base&))
   71 {
   72     std::istringstream iss(s);
   73     return !(iss >> f >> val).fail();
   74 }
   75 
   76 }
   77 
   78 #endif