ICU 65.1  65.1
unirepl.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 UNIREPL_H
13 #define UNIREPL_H
14 
15 #include "unicode/utypes.h"
16 
17 #if U_SHOW_CPLUSPLUS_API
18 
24 U_NAMESPACE_BEGIN
25 
26 class Replaceable;
27 class UnicodeString;
28 class UnicodeSet;
29 
40 class U_I18N_API UnicodeReplacer /* not : public UObject because this is an interface/mixin class */ {
41 
42  public:
43 
48  virtual ~UnicodeReplacer();
49 
68  virtual int32_t replace(Replaceable& text,
69  int32_t start,
70  int32_t limit,
71  int32_t& cursor) = 0;
72 
87  virtual UnicodeString& toReplacerPattern(UnicodeString& result,
88  UBool escapeUnprintable) const = 0;
89 
96  virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const = 0;
97 };
98 
99 U_NAMESPACE_END
100 
101 #endif /* U_SHOW_CPLUSPLUS_API */
102 
103 #endif
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:301
Replaceable is an abstract base class representing a string of characters that supports the replaceme...
Definition: rep.h:77
A mutable set of Unicode characters and multicharacter strings.
Definition: uniset.h:281
UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable st...
Definition: unirepl.h:40
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:294
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261