intl/icu/source/i18n/name2uni.h

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 /*
     2 **********************************************************************
     3 *   Copyright (C) 2001-2007, International Business Machines
     4 *   Corporation and others.  All Rights Reserved.
     5 **********************************************************************
     6 *   Date        Name        Description
     7 *   06/07/01    aliu        Creation.
     8 **********************************************************************
     9 */
    10 #ifndef NAME2UNI_H
    11 #define NAME2UNI_H
    13 #include "unicode/utypes.h"
    15 #if !UCONFIG_NO_TRANSLITERATION
    17 #include "unicode/translit.h"
    18 #include "unicode/uniset.h"
    20 U_NAMESPACE_BEGIN
    22 /**
    23  * A transliterator that performs name to character mapping.
    24  * It recognizes the Perl syntax \N{name}.
    25  * @author Alan Liu
    26  */
    27 class NameUnicodeTransliterator : public Transliterator {
    28 public:
    30     /**
    31      * Constructs a transliterator.
    32      * @param adoptedFilter    the filter for this transliterator.
    33      */
    34     NameUnicodeTransliterator(UnicodeFilter* adoptedFilter = 0);
    36     /**
    37      * Destructor.
    38      */
    39     virtual ~NameUnicodeTransliterator();
    41     /**
    42      * Copy constructor.
    43      */
    44     NameUnicodeTransliterator(const NameUnicodeTransliterator&);
    46     /**
    47      * Transliterator API.
    48      * @return    A copy of the object.
    49      */
    50     virtual Transliterator* clone(void) const;
    52     /**
    53      * ICU "poor man's RTTI", returns a UClassID for the actual class.
    54      */
    55     virtual UClassID getDynamicClassID() const;
    57     /**
    58      * ICU "poor man's RTTI", returns a UClassID for this class.
    59      */
    60     U_I18N_API static UClassID U_EXPORT2 getStaticClassID();
    62  protected:
    64     /**
    65      * Implements {@link Transliterator#handleTransliterate}.
    66      * @param text          the buffer holding transliterated and
    67      *                      untransliterated text
    68      * @param offset        the start and limit of the text, the position
    69      *                      of the cursor, and the start and limit of transliteration.
    70      * @param incremental   if true, assume more text may be coming after
    71      *                      pos.contextLimit. Otherwise, assume the text is complete.
    72      */
    73     virtual void handleTransliterate(Replaceable& text, UTransPosition& offset,
    74                                      UBool isIncremental) const;
    76     /**
    77      * Set of characters which occur in Unicode character names.
    78      */
    79     UnicodeSet legal;
    80 private:
    81     /**
    82      * Assignment operator.
    83      */
    84     NameUnicodeTransliterator& operator=(const NameUnicodeTransliterator&);
    85 };
    87 U_NAMESPACE_END
    89 #endif /* #if !UCONFIG_NO_TRANSLITERATION */
    91 #endif

mercurial