all repos — openbox @ 718be4c9111f47349645003e3e68b4698cdeb955

openbox fork - make it a bit more like ryudo

add 'userstring', a std::string with a flag for UTF-8
Dana Jansens danakj@orodu.net
commit

718be4c9111f47349645003e3e68b4698cdeb955

parent

7bfe234d812f14eed1a7d20db9479780390adc99

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