Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

unitohex.h

Go to the documentation of this file.
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 class UnicodeFilter;
00016 
00037 class U_I18N_API UnicodeToHexTransliterator : public Transliterator {
00038 
00039 private:
00040 
00041     // Character constants defined here to avoid ASCII dependency
00042     enum {
00043         ZERO      = 0x0030, // '0'
00044         POUND     = 0x0023, // '#'
00045         BACKSLASH = 0x005C  // '\\'
00046     };
00047 
00048     static const UChar HEX_DIGITS[32];
00049 
00053     static const char* _ID;
00054 
00058     UnicodeString pattern;
00059 
00063     UnicodeString prefix;
00064 
00068     UnicodeString suffix;
00069 
00074     int8_t minDigits;
00075 
00080     UBool uppercase;
00081 
00082 public:
00083 
00096     UnicodeToHexTransliterator(const UnicodeString& pattern,
00097                                UBool isUppercase,
00098                                UnicodeFilter* adoptedFilter,
00099                                UErrorCode& status);
00100 
00108     UnicodeToHexTransliterator(const UnicodeString& pattern,
00109                                UErrorCode& status);
00110 
00116     UnicodeToHexTransliterator(UnicodeFilter* adoptedFilter = 0);
00117 
00122     virtual ~UnicodeToHexTransliterator();
00123 
00128     UnicodeToHexTransliterator(const UnicodeToHexTransliterator&);
00129 
00134     UnicodeToHexTransliterator& operator=(const UnicodeToHexTransliterator&);
00135 
00140     virtual Transliterator* clone(void) const;
00141 
00169     void applyPattern(const UnicodeString& thePattern, UErrorCode& status);
00170 
00175     const UnicodeString& toPattern(void) const;
00176 
00181     virtual UBool isUppercase(void) const;
00182 
00187     virtual void setUppercase(UBool outputUppercase);
00188 
00193     virtual void handleTransliterate(Replaceable& text, UTransPosition& offsets,
00194                                      UBool isIncremental) const;
00195 };
00196 
00197 inline UnicodeToHexTransliterator::~UnicodeToHexTransliterator() {}
00198 
00199 #endif

Generated at Thu Mar 22 16:12:42 2001 for ICU 1.8 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000