ICU 75.1 75.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
38 class U_COMMON_API UnicodeFunctor : public UObject {
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();
87
103 virtual UClassID getDynamicClassID() 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
icu::UObject
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:223
icu::UnicodeFunctor
UnicodeFunctor is an abstract base class for objects that perform match and/or replace operations on ...
Definition: unifunct.h:38
icu::UnicodeFunctor::~UnicodeFunctor
virtual ~UnicodeFunctor()
Destructor.
icu::UnicodeFunctor::toReplacer
virtual UnicodeReplacer * toReplacer() const
Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeRep...
icu::UnicodeFunctor::clone
virtual UnicodeFunctor * clone() const =0
Return a copy of this object.
icu::UnicodeFunctor::getDynamicClassID
virtual UClassID getDynamicClassID() const override=0
Returns a unique class ID polymorphically.
icu::UnicodeFunctor::toMatcher
virtual UnicodeMatcher * toMatcher() const
Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatc...
icu::UnicodeFunctor::setData
virtual void setData(const TransliterationRuleData *)=0
Set the data object associated with this functor.
icu::UnicodeFunctor::getStaticClassID
static UClassID getStaticClassID()
Return the class ID for this class.
icu::UnicodeMatcher
UnicodeMatcher defines a protocol for objects that can match a range of characters in a Replaceable s...
Definition: unimatch.h:71
icu::UnicodeReplacer
UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable st...
Definition: unirepl.h:40
uobject.h
C++ API: Common ICU base class UObject.
UClassID
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:96
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
U_COMMON_API
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition: utypes.h:300