toupptrn.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. #include "unicode/utypes.h"
  15. #if !UCONFIG_NO_TRANSLITERATION
  16. #include "unicode/translit.h"
  17. #include "casetrn.h"
  18. U_NAMESPACE_BEGIN
  19. /**
  20. * A transliterator that performs locale-sensitive toUpper()
  21. * case mapping.
  22. * @author Alan Liu
  23. */
  24. class UppercaseTransliterator : public CaseMapTransliterator {
  25. public:
  26. /**
  27. * Constructs a transliterator.
  28. * @param loc the given locale.
  29. */
  30. UppercaseTransliterator();
  31. /**
  32. * Destructor.
  33. */
  34. virtual ~UppercaseTransliterator();
  35. /**
  36. * Copy constructor.
  37. */
  38. UppercaseTransliterator(const UppercaseTransliterator&);
  39. /**
  40. * Transliterator API.
  41. * @return a copy of the object.
  42. */
  43. virtual UppercaseTransliterator* clone() const override;
  44. /**
  45. * ICU "poor man's RTTI", returns a UClassID for the actual class.
  46. */
  47. virtual UClassID getDynamicClassID() const override;
  48. /**
  49. * ICU "poor man's RTTI", returns a UClassID for this class.
  50. */
  51. U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
  52. private:
  53. /**
  54. * Assignment operator.
  55. */
  56. UppercaseTransliterator& operator=(const UppercaseTransliterator&);
  57. };
  58. U_NAMESPACE_END
  59. #endif /* #if !UCONFIG_NO_TRANSLITERATION */
  60. #endif