/* * Copyright © {1999}, International Business Machines Corporation and others. All Rights Reserved. ********************************************************************** * Date Name Description * 11/17/99 aliu Creation. ********************************************************************** */ #ifndef HEXTOUNI_H #define HEXTOUNI_H #include "unicode/translit.h" class U_I18N_API HexToUnicodeTransliterator : public Transliterator { static const char* _ID; static const UnicodeString DEFAULT_PATTERN; // Character constants defined here to avoid ASCII dependency enum { SEMICOLON = 0x003B, // ';' ZERO = 0x0030, // '0' POUND = 0x0023, // '#' BACKSLASH = 0x005C // '\\' }; UnicodeString pattern; UnicodeString affixes; int32_t affixCount; public: HexToUnicodeTransliterator(UnicodeFilter* adoptedFilter = 0); HexToUnicodeTransliterator(const UnicodeString& pattern, UErrorCode& status); HexToUnicodeTransliterator(const UnicodeString& pattern, UnicodeFilter* adoptedFilter, UErrorCode& status); virtual ~HexToUnicodeTransliterator(); HexToUnicodeTransliterator(const HexToUnicodeTransliterator&); HexToUnicodeTransliterator& operator=(const HexToUnicodeTransliterator&); Transliterator* clone(void) const; void applyPattern(const UnicodeString& thePattern, UErrorCode& status); const UnicodeString& toPattern(void) const; virtual void handleTransliterate(Replaceable& text, Position& offset, UBool isIncremental) const; }; inline HexToUnicodeTransliterator::~HexToUnicodeTransliterator() {} #endif