00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef HEXTOUNI_H
00011 #define HEXTOUNI_H
00012
00013 #include "unicode/utypes.h"
00014
00015 #if !UCONFIG_NO_TRANSLITERATION
00016
00017 #include "unicode/translit.h"
00018
00019 #ifdef ICU_HEXTOUNICODETRANSLITERATOR_USE_DEPRECATES
00020
00021 U_NAMESPACE_BEGIN
00022
00035 class U_I18N_API HexToUnicodeTransliterator : public Transliterator {
00036
00040 static const char _ID[];
00041
00045 static const UChar DEFAULT_PATTERN[];
00046
00047
00048 enum {
00049 SEMICOLON = 0x003B,
00050 ZERO = 0x0030,
00051 POUND = 0x0023,
00052 BACKSLASH = 0x005C
00053 };
00054
00058 UnicodeString pattern;
00059
00064 UnicodeString affixes;
00065
00069 int32_t affixCount;
00070
00075 static const char fgClassID;
00076
00077 public:
00078
00085 HexToUnicodeTransliterator(UnicodeFilter* adoptedFilter = 0);
00086
00092 HexToUnicodeTransliterator(const UnicodeString& pattern,
00093 UErrorCode& status);
00094
00101 HexToUnicodeTransliterator(const UnicodeString& pattern,
00102 UnicodeFilter* adoptedFilter,
00103 UErrorCode& status);
00104
00109 virtual ~HexToUnicodeTransliterator();
00110
00115 HexToUnicodeTransliterator(const HexToUnicodeTransliterator&);
00116
00121 HexToUnicodeTransliterator& operator=(const HexToUnicodeTransliterator&);
00122
00127 Transliterator* clone(void) const;
00128
00156 void applyPattern(const UnicodeString& thePattern, UErrorCode& status);
00157
00162 const UnicodeString& toPattern(void) const;
00163
00168 virtual void handleTransliterate(Replaceable& text, UTransPosition& offset,
00169 UBool isIncremental) const;
00170
00176 virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
00177
00183 static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
00184 };
00185
00186 inline HexToUnicodeTransliterator::~HexToUnicodeTransliterator() {}
00187
00188 U_NAMESPACE_END
00189 #endif
00190
00191 #endif
00192
00193 #endif