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 TOUPPTRN_H
11 #define TOUPPTRN_H
12 
13 #include "unicode/utypes.h"
14 
15 #if !UCONFIG_NO_TRANSLITERATION
16 
17 #include "unicode/translit.h"
18 #include "casetrn.h"
19 
20 U_NAMESPACE_BEGIN
21 
22 /**
23  * A transliterator that performs locale-sensitive toUpper()
24  * case mapping.
25  * @author Alan Liu
26  */
27 class UppercaseTransliterator : public CaseMapTransliterator {
28 
29  public:
30 
31     /**
32      * Constructs a transliterator.
33      * @param loc the given locale.
34      */
35     UppercaseTransliterator();
36 
37     /**
38      * Destructor.
39      */
40     virtual ~UppercaseTransliterator();
41 
42     /**
43      * Copy constructor.
44      */
45     UppercaseTransliterator(const UppercaseTransliterator&);
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();
62 
63 private:
64     /**
65      * Assignment operator.
66      */
67     UppercaseTransliterator& operator=(const UppercaseTransliterator&);
68 };
69 
70 U_NAMESPACE_END
71 
72 #endif /* #if !UCONFIG_NO_TRANSLITERATION */
73 
74 #endif
75