| /* |
| ********************************************************************** |
| * Copyright (C) 2001, International Business Machines |
| * Corporation and others. All Rights Reserved. |
| ********************************************************************** |
| * Date Name Description |
| * 05/24/01 aliu Creation. |
| ********************************************************************** |
| */ |
| |
| #include "unicode/toupptrn.h" |
| |
| U_NAMESPACE_BEGIN |
| |
| const char UppercaseTransliterator::_ID[] = "Any-Upper"; |
| |
| /** |
| * Constructs a transliterator. |
| */ |
| UppercaseTransliterator::UppercaseTransliterator(const Locale& theLoc, |
| UnicodeFilter* adoptedFilter) : |
| TransformTransliterator(_ID, adoptedFilter), |
| loc(theLoc) { |
| } |
| |
| /** |
| * Destructor. |
| */ |
| UppercaseTransliterator::~UppercaseTransliterator() {} |
| |
| /** |
| * Copy constructor. |
| */ |
| UppercaseTransliterator::UppercaseTransliterator(const UppercaseTransliterator& o) : |
| TransformTransliterator(o), |
| loc(o.loc) {} |
| |
| /** |
| * Assignment operator. |
| */ |
| UppercaseTransliterator& UppercaseTransliterator::operator=( |
| const UppercaseTransliterator& o) { |
| TransformTransliterator::operator=(o); |
| loc = o.loc; |
| return *this; |
| } |
| |
| /** |
| * Transliterator API. |
| */ |
| Transliterator* UppercaseTransliterator::clone(void) const { |
| return new UppercaseTransliterator(*this); |
| } |
| |
| /** |
| * TransformTransliterator framework method. |
| */ |
| UBool UppercaseTransliterator::hasTransform(UChar32 c) const { |
| return c != u_toupper(c); |
| } |
| |
| /** |
| * TransformTransliterator framework method. |
| */ |
| void UppercaseTransliterator::transform(UnicodeString& s) const { |
| s.toUpper(loc); |
| } |
| |
| U_NAMESPACE_END |
| |