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
00022 U_NAMESPACE_BEGIN
00023
00024 class Replaceable;
00025 class UnicodeString;
00026 class UnicodeSet;
00027
00038 class U_I18N_API UnicodeReplacer {
00039
00040 public:
00041
00046 virtual ~UnicodeReplacer();
00047
00066 virtual int32_t replace(Replaceable& text,
00067 int32_t start,
00068 int32_t limit,
00069 int32_t& cursor) = 0;
00070
00085 virtual UnicodeString& toReplacerPattern(UnicodeString& result,
00086 UBool escapeUnprintable) const = 0;
00087
00094 virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const = 0;
00095 };
00096
00097 U_NAMESPACE_END
00098
00099 #endif