00001 /*
00002 * Copyright (C) {1999}, International Business Machines Corporation and others. All Rights Reserved.
00003 **********************************************************************
00004 * Date Name Description
00005 * 11/17/99 aliu Creation.
00006 **********************************************************************
00007 */
00008 #ifndef HEXTOUNI_H
00009 #define HEXTOUNI_H
00010
00011 #include "unicode/translit.h"
00012
00013 U_NAMESPACE_BEGIN
00014
00030 class U_I18N_API HexToUnicodeTransliterator : public Transliterator {
00031
00035 static const char _ID[];
00036
00040 static const UChar DEFAULT_PATTERN[];
00041
00042 // Character constants defined here to avoid ASCII dependency
00043 enum {
00044 SEMICOLON = 0x003B, // ';'
00045 ZERO = 0x0030, // '0'
00046 POUND = 0x0023, // '#'
00047 BACKSLASH = 0x005C // '\\'
00048 };
00049
00053 UnicodeString pattern;
00054
00059 UnicodeString affixes;
00060
00064 int32_t affixCount;
00065
00066 public:
00067
00074 HexToUnicodeTransliterator(UnicodeFilter* adoptedFilter = 0);
00075
00081 HexToUnicodeTransliterator(const UnicodeString& pattern,
00082 UErrorCode& status);
00083
00090 HexToUnicodeTransliterator(const UnicodeString& pattern,
00091 UnicodeFilter* adoptedFilter,
00092 UErrorCode& status);
00093
00098 virtual ~HexToUnicodeTransliterator();
00099
00104 HexToUnicodeTransliterator(const HexToUnicodeTransliterator&);
00105
00110 HexToUnicodeTransliterator& operator=(const HexToUnicodeTransliterator&);
00111
00116 Transliterator* clone(void) const;
00117
00145 void applyPattern(const UnicodeString& thePattern, UErrorCode& status);
00146
00151 const UnicodeString& toPattern(void) const;
00152
00157 virtual void handleTransliterate(Replaceable& text, UTransPosition& offset,
00158 UBool isIncremental) const;
00159 };
00160
00161 inline HexToUnicodeTransliterator::~HexToUnicodeTransliterator() {}
00162
00163 U_NAMESPACE_END
00164
00165 #endif
1.2.14 written by Dimitri van Heesch,
© 1997-2002