00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef HEXTOUNI_H
00011
#define HEXTOUNI_H
00012
00013
#include "unicode/translit.h"
00014
00015 U_NAMESPACE_BEGIN
00016
00031 class U_I18N_API HexToUnicodeTransliterator :
public Transliterator {
00032
00036
static const char _ID[];
00037
00041
static const UChar DEFAULT_PATTERN[];
00042
00043
00044
enum {
00045 SEMICOLON = 0x003B,
00046 ZERO = 0x0030,
00047 POUND = 0x0023,
00048 BACKSLASH = 0x005C
00049 };
00050
00054
UnicodeString pattern;
00055
00060
UnicodeString affixes;
00061
00065 int32_t affixCount;
00066
00067
public:
00068
00075 HexToUnicodeTransliterator(
UnicodeFilter* adoptedFilter = 0);
00076
00082 HexToUnicodeTransliterator(
const UnicodeString& pattern,
00083 UErrorCode& status);
00084
00091 HexToUnicodeTransliterator(
const UnicodeString& pattern,
00092
UnicodeFilter* adoptedFilter,
00093 UErrorCode& status);
00094
00099
virtual ~HexToUnicodeTransliterator();
00100
00105 HexToUnicodeTransliterator(
const HexToUnicodeTransliterator&);
00106
00111 HexToUnicodeTransliterator& operator=(
const HexToUnicodeTransliterator&);
00112
00117
Transliterator*
clone(
void)
const;
00118
00146
void applyPattern(
const UnicodeString& thePattern, UErrorCode& status);
00147
00152
const UnicodeString& toPattern(
void)
const;
00153
00158
virtual void handleTransliterate(
Replaceable& text,
UTransPosition& offset,
00159 UBool isIncremental)
const;
00160 };
00161
00162 inline HexToUnicodeTransliterator::~HexToUnicodeTransliterator() {}
00163
00164 U_NAMESPACE_END
00165
00166
#endif