Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

unitohex.h

00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 1999, International Business Machines Corporation and others. All Rights Reserved. 00004 ********************************************************************** 00005 * Date Name Description 00006 * 11/17/99 aliu Creation. 00007 ********************************************************************** 00008 */ 00009 #ifndef UNITOHEX_H 00010 #define UNITOHEX_H 00011 00012 #include "unicode/translit.h" 00013 #include "unicode/unistr.h" 00014 00015 U_NAMESPACE_BEGIN 00016 00017 class UnicodeFilter; 00018 00040 class U_I18N_API UnicodeToHexTransliterator : public Transliterator { 00041 00042 private: 00043 00044 // Character constants defined here to avoid ASCII dependency 00045 enum { 00046 ZERO = 0x0030, // '0' 00047 POUND = 0x0023, // '#' 00048 BACKSLASH = 0x005C // '\\' 00049 }; 00050 00051 static const UChar HEX_DIGITS[32]; 00052 00056 static const char _ID[]; 00057 00061 UnicodeString pattern; 00062 00066 UnicodeString prefix; 00067 00071 UnicodeString suffix; 00072 00077 int8_t minDigits; 00078 00083 UBool uppercase; 00084 00085 public: 00086 00099 UnicodeToHexTransliterator(const UnicodeString& pattern, 00100 UBool isUppercase, 00101 UnicodeFilter* adoptedFilter, 00102 UErrorCode& status); 00103 00112 UnicodeToHexTransliterator(const UnicodeString& pattern, 00113 UErrorCode& status); 00114 00120 UnicodeToHexTransliterator(UnicodeFilter* adoptedFilter = 0); 00121 00126 virtual ~UnicodeToHexTransliterator(); 00127 00132 UnicodeToHexTransliterator(const UnicodeToHexTransliterator&); 00133 00138 UnicodeToHexTransliterator& operator=(const UnicodeToHexTransliterator&); 00139 00144 virtual Transliterator* clone(void) const; 00145 00173 void applyPattern(const UnicodeString& thePattern, UErrorCode& status); 00174 00179 const UnicodeString& toPattern(void) const; 00180 00185 virtual UBool isUppercase(void) const; 00186 00191 virtual void setUppercase(UBool outputUppercase); 00192 00197 virtual void handleTransliterate(Replaceable& text, UTransPosition& offsets, 00198 UBool isIncremental) const; 00199 }; 00200 00201 inline UnicodeToHexTransliterator::~UnicodeToHexTransliterator() {} 00202 00203 U_NAMESPACE_END 00204 00205 #endif

Generated on Fri Aug 13 09:53:50 2004 for ICU 2.1 by doxygen 1.3.7