Index: icu46/source/i18n/unesctrn.h |
=================================================================== |
--- icu46/source/i18n/unesctrn.h (revision 0) |
+++ icu46/source/i18n/unesctrn.h (revision 0) |
@@ -0,0 +1,110 @@ |
+/* |
+ ********************************************************************** |
+ * Copyright (c) 2001-2007, International Business Machines |
+ * Corporation and others. All Rights Reserved. |
+ ********************************************************************** |
+ * Date Name Description |
+ * 11/20/2001 aliu Creation. |
+ ********************************************************************** |
+ */ |
+#ifndef UNESCTRN_H |
+#define UNESCTRN_H |
+ |
+#include "unicode/utypes.h" |
+ |
+#if !UCONFIG_NO_TRANSLITERATION |
+ |
+#include "unicode/translit.h" |
+ |
+U_NAMESPACE_BEGIN |
+ |
+/** |
+ * A transliterator that converts Unicode escape forms to the |
+ * characters they represent. Escape forms have a prefix, a suffix, a |
+ * radix, and minimum and maximum digit counts. |
+ * |
+ * <p>This class is package private. It registers several standard |
+ * variants with the system which are then accessed via their IDs. |
+ * |
+ * @author Alan Liu |
+ */ |
+class UnescapeTransliterator : public Transliterator { |
+ |
+ private: |
+ |
+ /** |
+ * The encoded pattern specification. The pattern consists of |
+ * zero or more forms. Each form consists of a prefix, suffix, |
+ * radix, minimum digit count, and maximum digit count. These |
+ * values are stored as a five character header. That is, their |
+ * numeric values are cast to 16-bit characters and stored in the |
+ * string. Following these five characters, the prefix |
+ * characters, then suffix characters are stored. Each form thus |
+ * takes n+5 characters, where n is the total length of the prefix |
+ * and suffix. The end is marked by a header of length one |
+ * consisting of the character END. |
+ */ |
+ UChar* spec; // owned; may not be NULL |
+ |
+ public: |
+ |
+ /** |
+ * Registers standard variants with the system. Called by |
+ * Transliterator during initialization. |
+ */ |
+ static void registerIDs(); |
+ |
+ /** |
+ * Constructor. Takes the encoded spec array (does not adopt it). |
+ * @param ID the string identifier for this transliterator |
+ * @param spec the encoded spec array |
+ */ |
+ UnescapeTransliterator(const UnicodeString& ID, |
+ const UChar *spec); |
+ |
+ /** |
+ * Copy constructor. |
+ */ |
+ UnescapeTransliterator(const UnescapeTransliterator&); |
+ |
+ /** |
+ * Destructor. |
+ */ |
+ virtual ~UnescapeTransliterator(); |
+ |
+ /** |
+ * Transliterator API. |
+ */ |
+ virtual Transliterator* clone() const; |
+ |
+ /** |
+ * 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& offset, |
+ UBool isIncremental) const; |
+ |
+}; |
+ |
+U_NAMESPACE_END |
+ |
+#endif /* #if !UCONFIG_NO_TRANSLITERATION */ |
+ |
+#endif |
Property changes on: icu46/source/i18n/unesctrn.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |