Index: icu46/source/i18n/casetrn.h |
=================================================================== |
--- icu46/source/i18n/casetrn.h (revision 0) |
+++ icu46/source/i18n/casetrn.h (revision 0) |
@@ -0,0 +1,104 @@ |
+/* |
+******************************************************************************* |
+* |
+* Copyright (C) 2001-2008, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+* |
+******************************************************************************* |
+* file name: casetrn.h |
+* encoding: US-ASCII |
+* tab size: 8 (not used) |
+* indentation:4 |
+* |
+* created on: 2004sep03 |
+* created by: Markus W. Scherer |
+* |
+* Implementation class for lower-/upper-/title-casing transliterators. |
+*/ |
+ |
+#ifndef __CASETRN_H__ |
+#define __CASETRN_H__ |
+ |
+#include "unicode/utypes.h" |
+ |
+#if !UCONFIG_NO_TRANSLITERATION |
+ |
+#include "unicode/translit.h" |
+#include "ucase.h" |
+ |
+U_NAMESPACE_BEGIN |
+ |
+/** |
+ * A transliterator that performs locale-sensitive |
+ * case mapping. |
+ */ |
+class CaseMapTransliterator : public Transliterator { |
+public: |
+ /** |
+ * Constructs a transliterator. |
+ * @param loc the given locale. |
+ * @param id the transliterator ID. |
+ * @param map the full case mapping function (see ucase.h) |
+ */ |
+ CaseMapTransliterator(const UnicodeString &id, UCaseMapFull *map); |
+ |
+ /** |
+ * Destructor. |
+ */ |
+ virtual ~CaseMapTransliterator(); |
+ |
+ /** |
+ * Copy constructor. |
+ */ |
+ CaseMapTransliterator(const CaseMapTransliterator&); |
+ |
+ /** |
+ * Transliterator API. |
+ * @return a copy of the object. |
+ */ |
+ virtual Transliterator* clone(void) const = 0; |
+ |
+ /** |
+ * ICU "poor man's RTTI", returns a UClassID for the actual class. |
+ */ |
+ //virtual UClassID getDynamicClassID() const; |
+ |
+ /** |
+ * ICU "poor man's RTTI", returns a UClassID for this class. |
+ */ |
+ U_I18N_API static UClassID U_EXPORT2 getStaticClassID(); |
+ |
+protected: |
+ /** |
+ * Implements {@link Transliterator#handleTransliterate}. |
+ * @param text the buffer holding transliterated and |
+ * untransliterated text |
+ * @param offset the start and limit of the text, the position |
+ * of the cursor, and the start and limit of transliteration. |
+ * @param incremental if true, assume more text may be coming after |
+ * pos.contextLimit. Otherwise, assume the text is complete. |
+ */ |
+ virtual void handleTransliterate(Replaceable& text, |
+ UTransPosition& offsets, |
+ UBool isIncremental) const; |
+ |
+ const UCaseProps *fCsp; |
+ UCaseMapFull *fMap; |
+ |
+private: |
+ /** |
+ * Assignment operator. |
+ */ |
+ CaseMapTransliterator& operator=(const CaseMapTransliterator&); |
+ |
+}; |
+ |
+U_NAMESPACE_END |
+ |
+/** case context iterator using a Replaceable. This must be a C function because it is a callback. */ |
+U_CFUNC UChar32 U_CALLCONV |
+utrans_rep_caseContextIterator(void *context, int8_t dir); |
+ |
+#endif /* #if !UCONFIG_NO_TRANSLITERATION */ |
+ |
+#endif |
Property changes on: icu46/source/i18n/casetrn.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |