Imported Upstream version 58.1
[platform/upstream/icu.git] / source / i18n / nultrans.h
1 // Copyright (C) 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 Transliterator* clone(void) 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