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

unifunct.h

Go to the documentation of this file.
00001 /*
00002 **********************************************************************
00003 *   Copyright (c) 2002, International Business Machines Corporation
00004 *   and others.  All Rights Reserved.
00005 **********************************************************************
00006 *   Date        Name        Description
00007 *   01/14/2002  aliu        Creation.
00008 **********************************************************************
00009 */
00010 #ifndef UNIFUNCT_H
00011 #define UNIFUNCT_H
00012 
00013 #include "unicode/utypes.h"
00014 #include "unicode/uobject.h"
00015 
00016 U_NAMESPACE_BEGIN
00017 
00018 class UnicodeMatcher;
00019 class UnicodeReplacer;
00020 class TransliterationRuleData;
00021 
00027 class U_COMMON_API UnicodeFunctor : public UObject {
00028 
00029  public:
00030 
00034     virtual ~UnicodeFunctor();
00035 
00041     virtual UnicodeFunctor* clone() const = 0;
00042 
00052     virtual UnicodeMatcher* toMatcher() const;
00053 
00063     virtual UnicodeReplacer* toReplacer() const;
00064 
00076     static UClassID getStaticClassID(void) { return (UClassID)&fgClassID; }
00077 
00100     virtual UClassID getDynamicClassID(void) const { return getStaticClassID(); };
00101 
00110     virtual void setData(const TransliterationRuleData*) = 0;
00111 
00112  protected:
00113 
00114     UnicodeFunctor();
00115 
00116  private:
00117 
00122     static const char fgClassID;
00123 };
00124 
00125 inline UnicodeFunctor::UnicodeFunctor() {}
00126 inline UnicodeFunctor::~UnicodeFunctor() {}
00127 
00128 U_NAMESPACE_END
00129 
00130 #endif

Generated on Thu Aug 15 14:13:31 2002 for ICU 2.2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001