00001 #if !defined(__STRINGUTF8_HPP)
00002 #define __STRINGUTF8_HPP
00003
00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022
00023
00024
00025
00026 #if !defined(__COMMON_HPP)
00027 #include <Common.hpp>
00028 #endif
00029
00030 #include <string>
00031
00032 namespace corelinux
00033 {
00034 DECLARE_CLASS(StringUtf8);
00035
00041 class StringUtf8 : public AbstractString, public std::string
00042 {
00043
00044 public:
00045
00046
00047
00048
00049
00050
00051
00052 StringUtf8( void );
00053
00054
00055
00056 StringUtf8( CharCptr );
00057
00058
00059
00060 StringUtf8( const std::string & );
00061
00062
00063
00064 StringUtf8( StringUtf8Cref );
00065
00066
00067
00068
00069
00070 StringUtf8( AbstractStringCref )
00071 throw (Exception);
00072
00073
00074
00075 virtual ~StringUtf8( void );
00076
00077
00078
00079
00080
00081 virtual Byte getElementByteCount( void ) const ;
00082
00083 virtual bool supportsStandardInterface( void ) const ;
00084
00085 virtual bool isUtf8( void ) const ;
00086
00087 virtual bool isUcs2( void ) const ;
00088
00089 virtual bool isUcs4( void ) const ;
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100 virtual AbstractStringPtr clone( void ) const
00101 throw ( Exception );
00102
00103
00104
00105 virtual AbstractStringPtr cloneUtf8( void ) const
00106 throw ( Exception );
00107
00108
00109
00110 virtual AbstractStringPtr cloneUcs2( void ) const
00111 throw ( Exception );
00112
00113
00114
00115 virtual AbstractStringPtr cloneUcs4( void ) const
00116 throw ( Exception );
00117
00118 protected:
00119
00120 private:
00121
00122 };
00123
00124 }
00125
00126 #endif // #if !defined(__STRINGUTF8_HPP)
00127
00128 00129 00130 00131 00132 00133 00134
00135