ICU 50.1.2  50.1.2
unirepl.h
Go to the documentation of this file.
1 /*
2 **********************************************************************
3 * Copyright (c) 2002-2005, International Business Machines Corporation
4 * and others. All Rights Reserved.
5 **********************************************************************
6 * Date Name Description
7 * 01/14/2002 aliu Creation.
8 **********************************************************************
9 */
10 #ifndef UNIREPL_H
11 #define UNIREPL_H
12 
13 #include "unicode/utypes.h"
14 
21 
22 class Replaceable;
23 class UnicodeString;
24 class UnicodeSet;
25 
36 class U_I18N_API UnicodeReplacer /* not : public UObject because this is an interface/mixin class */ {
37 
38  public:
39 
44  virtual ~UnicodeReplacer();
45 
64  virtual int32_t replace(Replaceable& text,
65  int32_t start,
66  int32_t limit,
67  int32_t& cursor) = 0;
68 
83  virtual UnicodeString& toReplacerPattern(UnicodeString& result,
84  UBool escapeUnprintable) const = 0;
85 
92  virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const = 0;
93 };
94 
96 
97 #endif
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:358
Replaceable is an abstract base class representing a string of characters that supports the replaceme...
Definition: rep.h:71
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
A mutable set of Unicode characters and multicharacter strings.
Definition: uniset.h:273
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable st...
Definition: unirepl.h:36
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:246
int8_t UBool
The ICU boolean type.
Definition: umachine.h:200