add 'userstring', a std::string with a flag for UTF-8
Dana Jansens danakj@orodu.net
1 files changed,
28 insertions(+),
0 deletions(-)
jump to
A
otk/userstring.hh
@@ -0,0 +1,28 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- +#ifndef __userstring_hh +#define __userstring_hh + +#include <string> + +//! userstring is a std::string with an extra flag specifying if the string is +//! UTF-8 encoded. +class userstring : public std::string +{ +private: + bool _utf8; + +public: + userstring(bool utf8) : std::string(), _utf8(utf8) {} + userstring(const userstring& s, bool utf8, size_type pos = 0, + size_type n = npos) : std::string(s, pos, n), _utf8(utf8) {} + userstring(const charT *s, bool utf8) : std::string(s), _utf8(utf8) {} + userstring(const charT* s, size_type n, bool utf8) : std::string(s, n), + _utf8(utf8) {} + userstring(size_type n, charT c, bool utf8) : std::string(n, c), + _utf8(utf8) {} + + //! Returns if the string is encoded in UTF-8 or not + inline bool utf8() const { return _utf8; } +}; + +#endif // __userstring_hh