WString.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef ROCKETCOREWSTRING_H
00029 #define ROCKETCOREWSTRING_H
00030
00031 #include <Rocket/Core/Types.h>
00032 #include <Rocket/Core/Header.h>
00033
00034 namespace Rocket {
00035 namespace Core {
00036
00037 typedef StringBase< word > WStringBase;
00038
00045 class ROCKETCORE_API WString : public WStringBase
00046 {
00047 public:
00049 WString();
00050
00052 WString(const WStringBase& ucs2_string);
00054 WString(const word* ucs2_string_begin, const word* ucs2_string_end);
00056 WString(WStringBase::size_type count, word ucs2_char);
00057
00059 WString(const char* utf8_string);
00061 WString(const char* utf8_string_begin, const char* utf8_string_end);
00063 WString(const String& utf8_string);
00064
00066 ~WString();
00067
00069 String& ToUTF8(String& utf8_string, bool append = false) const;
00070
00072 WString& operator=(const WStringBase& string);
00074 WString& operator=(const WString& string);
00076 WString& operator=(const word* string);
00078 WString& operator=(const char* string);
00079
00081 bool operator==(const WString& string) const;
00083 bool operator==(const char* string) const;
00084
00085 WStringBase::size_type Find(const WString& s, WStringBase::size_type pos = WStringBase::npos) const;
00086 WStringBase::size_type Find(const word* s, WStringBase::size_type pos = WStringBase::npos) const;
00087 WStringBase::size_type Find(const word& s, WStringBase::size_type pos = WStringBase::npos) const;
00088
00089 word& operator[](WStringBase::size_type offset);
00090 word operator[](WStringBase::size_type offset) const;
00091 };
00092
00093 }
00094 }
00095
00096 #endif