Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

rbt_set.h

Go to the documentation of this file.
00001 /*
00002 * Copyright © {1999}, International Business Machines Corporation and others. All Rights Reserved.
00003 **********************************************************************
00004 *   Date        Name        Description
00005 *   11/17/99    aliu        Creation.
00006 **********************************************************************
00007 */
00008 #ifndef RBT_SET_H
00009 #define RBT_SET_H
00010 
00011 #include "uvector.h"
00012 #include "unicode/utrans.h"
00013 
00014 class Replaceable;
00015 class TransliterationRule;
00016 class TransliterationRuleData;
00017 class UnicodeFilter;
00018 class UnicodeString;
00019 
00032 class TransliterationRuleSet {
00038     UVector* ruleVector;
00039 
00043     int32_t maxContextLength;
00044 
00049     TransliterationRule** rules;
00050 
00056     int32_t index[257];
00057 
00058 public:
00059 
00063     TransliterationRuleSet();
00064 
00068     TransliterationRuleSet(const TransliterationRuleSet&);
00069 
00073     virtual ~TransliterationRuleSet();
00074 
00079     virtual int32_t getMaximumContextLength(void) const;
00080 
00088     virtual void addRule(TransliterationRule* adoptedRule,
00089                          UErrorCode& status);
00090 
00101     virtual void freeze(const TransliterationRuleData& data,
00102                         UErrorCode& status);
00103 
00122     virtual TransliterationRule* findMatch(const Replaceable& text,
00123                                            const UTransPosition& pos,
00124                                            const TransliterationRuleData& data,
00125                                            const UnicodeFilter* filter) const;
00126     
00154     virtual TransliterationRule* findIncrementalMatch(const Replaceable& text,
00155                                               const UTransPosition& pos,
00156                                               const TransliterationRuleData& data,
00157                                               UBool& isPartial,
00158                                               const UnicodeFilter* filter) const;
00159 };
00160 #endif

Generated at Tue Dec 5 17:55:31 2000 for ICU by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000