1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 *   Copyright (c) 2000-2007, International Business Machines
6 *   Corporation and others.  All Rights Reserved.
7 **********************************************************************
8 *   Date        Name        Description
9 *   01/11/2000  aliu        Creation.
10 **********************************************************************
11 */
12 #ifndef NULTRANS_H
13 #define NULTRANS_H
14 
15 #include "unicode/utypes.h"
16 
17 #if !UCONFIG_NO_TRANSLITERATION
18 
19 #include "unicode/translit.h"
20 
21 U_NAMESPACE_BEGIN
22 
23 /**
24  * A transliterator that leaves text unchanged.
25  * @author Alan Liu
26  * @internal Use transliterator factory methods instead since this class will be removed in that release.
27  */
28 class NullTransliterator : public Transliterator {
29 
30 public:
31 
32     /**
33      * Constructs a transliterator.
34      * @internal Use transliterator factory methods instead since this class will be removed in that release.
35      */
36     NullTransliterator();
37 
38     /**
39      * Destructor.
40      * @internal Use transliterator factory methods instead since this class will be removed in that release.
41      */
42     virtual ~NullTransliterator();
43 
44     /**
45      * Transliterator API.
46      * @internal Use transliterator factory methods instead since this class will be removed in that release.
47      */
48     virtual NullTransliterator* clone() const;
49 
50     /**
51      * Implements {@link Transliterator#handleTransliterate}.
52      * @internal Use transliterator factory methods instead since this class will be removed in that release.
53      */
54     virtual void handleTransliterate(Replaceable& text, UTransPosition& offset,
55                                      UBool isIncremental) const;
56 
57     /**
58      * ICU "poor man's RTTI", returns a UClassID for the actual class.
59      */
60     virtual UClassID getDynamicClassID() const;
61 
62     /**
63      * ICU "poor man's RTTI", returns a UClassID for this class.
64      */
65     U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
66 
67 };
68 
69 U_NAMESPACE_END
70 
71 #endif /* #if !UCONFIG_NO_TRANSLITERATION */
72 
73 #endif
74