Mercurial > octave
diff src/graphics.h.in @ 11075:4e31d44a9763
extract caseless_str class to separate header file
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 01 Oct 2010 14:18:37 -0400 |
parents | 8a3b7e8fcbbc |
children | b748b86cb8c1 |
line wrap: on
line diff
--- a/src/graphics.h.in Fri Oct 01 05:16:04 2010 -0400 +++ b/src/graphics.h.in Fri Oct 01 14:18:37 2010 -0400 @@ -35,6 +35,7 @@ #include <set> #include <string> +#include "caseless-str.h" #include "lo-ieee.h" #include "gripes.h" @@ -49,47 +50,6 @@ #define OCTAVE_DEFAULT_FONTNAME "*" #endif -class caseless_str : public std::string -{ -public: - typedef std::string::iterator iterator; - typedef std::string::const_iterator const_iterator; - - caseless_str (void) : std::string () { } - caseless_str (const std::string& s) : std::string (s) { } - caseless_str (const char *s) : std::string (s) { } - - caseless_str (const caseless_str& name) : std::string (name) { } - - caseless_str& operator = (const caseless_str& pname) - { - std::string::operator = (pname); - return *this; - } - - operator std::string (void) const { return *this; } - - // Case-insensitive comparison. - bool compare (const std::string& s, size_t limit = std::string::npos) const - { - const_iterator p1 = begin (); - const_iterator p2 = s.begin (); - - size_t k = 0; - - while (p1 != end () && p2 != s.end () && k++ < limit) - { - if (std::tolower (*p1) != std::tolower (*p2)) - return false; - - *p1++; - *p2++; - } - - return (limit == std::string::npos) ? size () == s.size () : k == limit; - } -}; - // --------------------------------------------------------------------- class graphics_handle