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