00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef UNIREPL_H
00011 #define UNIREPL_H
00012
00013 #include "unicode/utypes.h"
00014
00015 U_NAMESPACE_BEGIN
00016
00017 class Replaceable;
00018 class UnicodeString;
00019 class UnicodeSet;
00020
00031 class U_I18N_API UnicodeReplacer {
00032
00033 public:
00034
00039 virtual inline ~UnicodeReplacer() {};
00040
00059 virtual int32_t replace(Replaceable& text,
00060 int32_t start,
00061 int32_t limit,
00062 int32_t& cursor) = 0;
00063
00078 virtual UnicodeString& toReplacerPattern(UnicodeString& result,
00079 UBool escapeUnprintable) const = 0;
00080
00087 virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const = 0;
00088 };
00089
00090 U_NAMESPACE_END
00091
00092 #endif