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
21U_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 */
28class NullTransliterator : public Transliterator {
29
30public:
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
69U_NAMESPACE_END
70
71#endif /* #if !UCONFIG_NO_TRANSLITERATION */
72
73#endif
74