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