ICU 73.2  73.2
unifunct.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 **********************************************************************
00005 *   Copyright (c) 2002-2005, International Business Machines Corporation
00006 *   and others.  All Rights Reserved.
00007 **********************************************************************
00008 *   Date        Name        Description
00009 *   01/14/2002  aliu        Creation.
00010 **********************************************************************
00011 */
00012 #ifndef UNIFUNCT_H
00013 #define UNIFUNCT_H
00014 
00015 #include "unicode/utypes.h"
00016 
00017 #if U_SHOW_CPLUSPLUS_API
00018 
00019 #include "unicode/uobject.h"
00020 
00026 U_NAMESPACE_BEGIN
00027 
00028 class UnicodeMatcher;
00029 class UnicodeReplacer;
00030 class TransliterationRuleData;
00031 
00038 class U_COMMON_API UnicodeFunctor : public UObject {
00039 
00040 public:
00041 
00046     virtual ~UnicodeFunctor();
00047 
00054     virtual UnicodeFunctor* clone() const = 0;
00055 
00066     virtual UnicodeMatcher* toMatcher() const;
00067 
00078     virtual UnicodeReplacer* toReplacer() const;
00079 
00086     static UClassID U_EXPORT2 getStaticClassID(void);
00087 
00103     virtual UClassID getDynamicClassID(void) const override = 0;
00104 
00113     virtual void setData(const TransliterationRuleData*) = 0;
00114 
00115 protected:
00116 
00122     /*UnicodeFunctor();*/
00123 
00124 };
00125 
00126 /*inline UnicodeFunctor::UnicodeFunctor() {}*/
00127 
00128 U_NAMESPACE_END
00129 
00130 #endif /* U_SHOW_CPLUSPLUS_API */
00131 
00132 #endif