blob: 00d999f7e0cc52b9aac6a8d0b93c8c311c45e5a5 [file] [log] [blame]
/*
**********************************************************************
* 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