~ubuntu-branches/ubuntu/gutsy/icu/gutsy-updates

« back to all changes in this revision

Viewing changes to source/i18n/nortrans.h

  • Committer: Package Import Robot
  • Author(s): Jay Berkenbilt
  • Date: 2005-11-19 11:29:31 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20051119112931-vcizkrp10tli4enw
Tags: 3.4-3
Explicitly build with g++ 3.4.  The current ICU fails its test suite
with 4.0 but not with 3.4.  Future versions should work properly with
4.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
**********************************************************************
3
 
*   Copyright (C) 2001-2002, International Business Machines
4
 
*   Corporation and others.  All Rights Reserved.
5
 
**********************************************************************
6
 
*   Date        Name        Description
7
 
*   07/03/01    aliu        Creation.
8
 
**********************************************************************
9
 
*/
10
 
#ifndef NORTRANS_H
11
 
#define NORTRANS_H
12
 
 
13
 
#include "unicode/utypes.h"
14
 
#include "unicode/translit.h"
15
 
#include "unicode/normlzr.h"
16
 
 
17
 
U_NAMESPACE_BEGIN
18
 
 
19
 
/**
20
 
 * A transliterator that performs normalization.
21
 
 * @author Alan Liu
22
 
 */
23
 
class U_I18N_API NormalizationTransliterator : public Transliterator {
24
 
 
25
 
    /**
26
 
     * The normalization mode of this transliterator.
27
 
     */
28
 
    UNormalizationMode fMode;
29
 
 
30
 
    /**
31
 
     * Normalization options for this transliterator.
32
 
     */
33
 
    int32_t options;
34
 
 
35
 
    /**
36
 
     * Alias to skippables set.  NOT OWNED.
37
 
     */
38
 
    UnicodeSet* skippable;
39
 
 
40
 
 public:
41
 
 
42
 
    /**
43
 
     * Destructor.
44
 
     */
45
 
    virtual ~NormalizationTransliterator();
46
 
 
47
 
    /**
48
 
     * Copy constructor.
49
 
     */
50
 
    NormalizationTransliterator(const NormalizationTransliterator&);
51
 
 
52
 
    /**
53
 
     * Assignment operator.
54
 
     */
55
 
    NormalizationTransliterator& operator=(const NormalizationTransliterator&);
56
 
 
57
 
    /**
58
 
     * Transliterator API.
59
 
     */
60
 
    Transliterator* clone(void) const;
61
 
 
62
 
 protected:
63
 
 
64
 
    /**
65
 
     * Implements {@link Transliterator#handleTransliterate}.
66
 
     */
67
 
    void handleTransliterate(Replaceable& text, UTransPosition& offset,
68
 
                             UBool isIncremental) const;
69
 
 public:
70
 
 
71
 
    /**
72
 
     * System registration hook.  Public to Transliterator only.
73
 
     */
74
 
    static void registerIDs();
75
 
 
76
 
    /**
77
 
     * Static memory cleanup function.
78
 
     */
79
 
    static void cleanup();
80
 
 
81
 
 private:
82
 
 
83
 
    // Transliterator::Factory methods
84
 
    static Transliterator* _create(const UnicodeString& ID,
85
 
                                   Token context);
86
 
 
87
 
    /**
88
 
     * Constructs a transliterator.  This method is private.
89
 
     * Public users must use the factory method createInstance().
90
 
     */
91
 
    NormalizationTransliterator(const UnicodeString& id,
92
 
                                UNormalizationMode mode, int32_t opt);
93
 
 
94
 
    static void initStatics();
95
 
};
96
 
 
97
 
U_NAMESPACE_END
98
 
 
99
 
#endif