ICU 70.1  70.1
unifunct.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (c) 2002-2005, International Business Machines Corporation
6 * and others. All Rights Reserved.
7 **********************************************************************
8 * Date Name Description
9 * 01/14/2002 aliu Creation.
10 **********************************************************************
11 */
12 #ifndef UNIFUNCT_H
13 #define UNIFUNCT_H
14 
15 #include "unicode/utypes.h"
16 
17 #if U_SHOW_CPLUSPLUS_API
18 
19 #include "unicode/uobject.h"
20 
26 U_NAMESPACE_BEGIN
27 
28 class UnicodeMatcher;
29 class UnicodeReplacer;
30 class TransliterationRuleData;
31 
39 
40 public:
41 
46  virtual ~UnicodeFunctor();
47 
54  virtual UnicodeFunctor* clone() const = 0;
55 
66  virtual UnicodeMatcher* toMatcher() const;
67 
78  virtual UnicodeReplacer* toReplacer() const;
79 
86  static UClassID U_EXPORT2 getStaticClassID(void);
87 
103  virtual UClassID getDynamicClassID(void) const override = 0;
104 
113  virtual void setData(const TransliterationRuleData*) = 0;
114 
115 protected:
116 
122  /*UnicodeFunctor();*/
123 
124 };
125 
126 /*inline UnicodeFunctor::UnicodeFunctor() {}*/
127 
128 U_NAMESPACE_END
129 
130 #endif /* U_SHOW_CPLUSPLUS_API */
131 
132 #endif
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:223
UnicodeFunctor is an abstract base class for objects that perform match and/or replace operations on ...
Definition: unifunct.h:38
virtual ~UnicodeFunctor()
Destructor.
virtual UnicodeReplacer * toReplacer() const
Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeRep...
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UnicodeFunctor * clone() const =0
Return a copy of this object.
virtual UnicodeMatcher * toMatcher() const
Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatc...
virtual UClassID getDynamicClassID(void) const override=0
Returns a unique class ID polymorphically.
virtual void setData(const TransliterationRuleData *)=0
Set the data object associated with this functor.
UnicodeMatcher defines a protocol for objects that can match a range of characters in a Replaceable s...
Definition: unimatch.h:71
UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable st...
Definition: unirepl.h:40
C++ API: Common ICU base class UObject.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:96
Basic definitions for ICU, for both C and C++ APIs.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition: utypes.h:300