# BasicString.h

Go to the documentation of this file.

    00001 /*******************************************************************\
    00002
    00003               Copyright (C) 2003 Joseph Coffland
    00004
    00005     This program is free software; you can redistribute it and/or
    00006      modify it under the terms of the GNU General Public License
    00007     as published by the Free Software Foundation; either version 2
    00008         of the License, or (at your option) any later version.
    00009
    00010    This program is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00013              GNU General Public License for more details.
    00014
    00015   You should have received a copy of the GNU General Public License
    00016      along with this program; if not, write to the Free Software
    00017       Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    00018                            02111-1307, USA.
    00019
    00020             For information regarding this software email
    00021                    jcofflan@users.sourceforge.net
    00022
    00023 \*******************************************************************/
    00024 #ifndef BASICSTRING_H
    00025 #define BASICSTRING_H
    00026
    00027 #include <string>
    00028
    00032 class BasicString : public std::string {
    00033 public:
    00034   // Pass through constructors
    00036   BasicString(const char *s, size_type n) : std::string(s, n) {}
    00037
    00039   BasicString(const char *s) : std::string(s) {}
    00040
    00042   BasicString(std::string &s) : std::string(s) {}
    00043
    00045   BasicString(std::string &s, size_type pos, size_type n = npos) :
    00046     std::string(s, pos, n) {}
    00047
    00049   BasicString(size_type n, char c) : std::string(n, c) {}
    00050
    00051   // Conversion constructors
    00057   BasicString(const int x);
    00058
    00064   BasicString(const unsigned x);
    00065
    00071   BasicString(const long x);
    00072
    00078   BasicString(const unsigned long x);
    00079
    00085   BasicString(const double x);
    00086
    00087   static unsigned char parseUByte(const std::string s);
    00088   static char parseByte(const std::string s);
    00089   static unsigned short parseUShort(const std::string s);
    00090   static short parseShort(const std::string s);
    00091   static unsigned int parseUInteger(const std::string s);
    00092   static int parseInteger(const std::string s);
    00093   static double parseDouble(const std::string s);
    00094   static bool parseBool(const std::string s);
    00095   static std::string trim(const std::string s);
    00096   static std::string toUpper(const std::string s);
    00097   static std::string toLower(const std::string s);
    00098 };
    00099 #endif // BASICSTRING_H