00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef UNIREPL_H
00011 #define UNIREPL_H
00012
00013 #include "unicode/utypes.h"
00014
00020 U_NAMESPACE_BEGIN
00021
00022 class Replaceable;
00023 class UnicodeString;
00024 class UnicodeSet;
00025
00036 class U_I18N_API UnicodeReplacer {
00037
00038 public:
00039
00044 virtual ~UnicodeReplacer();
00045
00064 virtual int32_t replace(Replaceable& text,
00065 int32_t start,
00066 int32_t limit,
00067 int32_t& cursor) = 0;
00068
00083 virtual UnicodeString& toReplacerPattern(UnicodeString& result,
00084 UBool escapeUnprintable) const = 0;
00085
00092 virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const = 0;
00093 };
00094
00095 U_NAMESPACE_END
00096
00097 #endif