1 /* 2 ********************************************************************** 3 * Copyright (c) 2001-2007, International Business Machines 4 * Corporation and others. All Rights Reserved. 5 ********************************************************************** 6 * Date Name Description 7 * 04/02/2001 aliu Creation. 8 ********************************************************************** 9 */ 10 #ifndef REMTRANS_H 11 #define REMTRANS_H 12 13 #include "unicode/utypes.h" 14 15 #if !UCONFIG_NO_TRANSLITERATION 16 17 #include "unicode/translit.h" 18 19 U_NAMESPACE_BEGIN 20 21 /** 22 * A transliterator that removes text. 23 * @author Alan Liu 24 */ 25 class RemoveTransliterator : public Transliterator { 26 27 public: 28 29 /** 30 * Constructs a transliterator. 31 */ 32 RemoveTransliterator(); 33 34 /** 35 * Destructor. 36 */ 37 virtual ~RemoveTransliterator(); 38 39 /** 40 * System registration hook. 41 */ 42 static void registerIDs(); 43 44 /** 45 * Transliterator API. 46 * @return A copy of the object. 47 */ 48 virtual Transliterator* clone(void) const; 49 50 /** 51 * Implements {@link Transliterator#handleTransliterate}. 52 * @param text the buffer holding transliterated and 53 * untransliterated text 54 * @param offset the start and limit of the text, the position 55 * of the cursor, and the start and limit of transliteration. 56 * @param incremental if true, assume more text may be coming after 57 * pos.contextLimit. Otherwise, assume the text is complete. 58 */ 59 virtual void handleTransliterate(Replaceable& text, UTransPosition& offset, 60 UBool isIncremental) const; 61 62 /** 63 * ICU "poor man's RTTI", returns a UClassID for the actual class. 64 */ 65 virtual UClassID getDynamicClassID() const; 66 67 /** 68 * ICU "poor man's RTTI", returns a UClassID for this class. 69 */ 70 U_I18N_API static UClassID U_EXPORT2 getStaticClassID(); 71 72 }; 73 74 U_NAMESPACE_END 75 76 #endif /* #if !UCONFIG_NO_TRANSLITERATION */ 77 78 #endif 79