1/*
2**********************************************************************
3*   Copyright (C) 2001-2007, International Business Machines
4*   Corporation and others.  All Rights Reserved.
5**********************************************************************
6*   Date        Name        Description
7*   05/24/01    aliu        Creation.
8**********************************************************************
9*/
10#ifndef TOLOWTRN_H
11#define TOLOWTRN_H
12
13#include "unicode/utypes.h"
14
15#if !UCONFIG_NO_TRANSLITERATION
16
17#include "unicode/translit.h"
18#include "casetrn.h"
19
20U_NAMESPACE_BEGIN
21
22/**
23 * A transliterator that performs locale-sensitive toLower()
24 * case mapping.
25 * @author Alan Liu
26 */
27class LowercaseTransliterator : public CaseMapTransliterator {
28
29 public:
30
31    /**
32     * Constructs a transliterator.
33     * @param loc the given locale.
34     */
35    LowercaseTransliterator();
36
37    /**
38     * Destructor.
39     */
40    virtual ~LowercaseTransliterator();
41
42    /**
43     * Copy constructor.
44     */
45    LowercaseTransliterator(const LowercaseTransliterator&);
46
47    /**
48     * Transliterator API.
49     * @return a copy of the object.
50     */
51    virtual Transliterator* clone(void) const;
52
53    /**
54     * ICU "poor man's RTTI", returns a UClassID for the actual class.
55     */
56    virtual UClassID getDynamicClassID() const;
57
58    /**
59     * ICU "poor man's RTTI", returns a UClassID for this class.
60     */
61    U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
62private:
63
64    /**
65     * Assignment operator.
66     */
67    LowercaseTransliterator& operator=(const LowercaseTransliterator&);
68};
69
70U_NAMESPACE_END
71
72#endif /* #if !UCONFIG_NO_TRANSLITERATION */
73
74#endif
75