Home | History | Annotate | Download | only in i18n
      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 Transliterator* clone(void) 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 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