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