X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..0f5d89e82340278ed3d7d50029f37cab2c41a57e:/icuSources/i18n/titletrn.h diff --git a/icuSources/i18n/titletrn.h b/icuSources/i18n/titletrn.h index 4a5ac416..166378fe 100644 --- a/icuSources/i18n/titletrn.h +++ b/icuSources/i18n/titletrn.h @@ -1,6 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ********************************************************************** -* Copyright (C) 2001, International Business Machines +* Copyright (C) 2001-2007, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Date Name Description @@ -15,7 +17,8 @@ #if !UCONFIG_NO_TRANSLITERATION #include "unicode/translit.h" -#include "unicode/locid.h" +#include "ucase.h" +#include "casetrn.h" U_NAMESPACE_BEGIN @@ -26,20 +29,14 @@ U_NAMESPACE_BEGIN * case using u_totitle(). * @author Alan Liu */ -class U_I18N_API TitlecaseTransliterator : public Transliterator { - - /** - * ID for this transliterator. - */ - static const char _ID[]; - +class TitlecaseTransliterator : public CaseMapTransliterator { public: /** * Constructs a transliterator. * @param loc the given locale. */ - TitlecaseTransliterator(const Locale& loc = Locale::getDefault()); + TitlecaseTransliterator(); /** * Destructor. @@ -51,32 +48,23 @@ class U_I18N_API TitlecaseTransliterator : public Transliterator { */ TitlecaseTransliterator(const TitlecaseTransliterator&); - /** - * Assignment operator. - */ - TitlecaseTransliterator& operator=(const TitlecaseTransliterator&); - /** * Transliterator API. * @return a copy of the object. */ - Transliterator* clone(void) const; + virtual Transliterator* clone(void) const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. - * - * @draft ICU 2.2 */ - virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); } + virtual UClassID getDynamicClassID() const; /** * ICU "poor man's RTTI", returns a UClassID for this class. - * - * @draft ICU 2.2 */ - static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; } + U_I18N_API static UClassID U_EXPORT2 getStaticClassID(); - protected: +protected: /** * Implements {@link Transliterator#handleTransliterate}. @@ -87,25 +75,14 @@ class U_I18N_API TitlecaseTransliterator : public Transliterator { * @param incremental if true, assume more text may be coming after * pos.contextLimit. Otherwise, assume the text is complete. */ - void handleTransliterate(Replaceable& text, UTransPosition& offset, + virtual void handleTransliterate(Replaceable& text, UTransPosition& offset, UBool isIncremental) const; - public: - - /** - * Static memory cleanup function. FOR INTERNAL USE ONLY; DO NOT - * CALL. - */ - static void cleanup(); - private: - Locale loc; - UChar* buffer; - +private: /** - * The address of this static class variable serves as this class's ID - * for ICU "poor man's RTTI". + * Assignment operator. */ - static const char fgClassID; + TitlecaseTransliterator& operator=(const TitlecaseTransliterator&); }; U_NAMESPACE_END