00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef UNIREPL_H
00013 #define UNIREPL_H
00014
00015 #include "unicode/utypes.h"
00016
00017 #if U_SHOW_CPLUSPLUS_API
00018
00024 U_NAMESPACE_BEGIN
00025
00026 class Replaceable;
00027 class UnicodeString;
00028 class UnicodeSet;
00029
00040 class U_I18N_API UnicodeReplacer {
00041
00042 public:
00043
00048 virtual ~UnicodeReplacer();
00049
00068 virtual int32_t replace(Replaceable& text,
00069 int32_t start,
00070 int32_t limit,
00071 int32_t& cursor) = 0;
00072
00087 virtual UnicodeString& toReplacerPattern(UnicodeString& result,
00088 UBool escapeUnprintable) const = 0;
00089
00096 virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const = 0;
00097 };
00098
00099 U_NAMESPACE_END
00100
00101 #endif
00102
00103 #endif