ICU 54.1 54.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
unimatch.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved.
3 **********************************************************************
4 * Date Name Description
5 * 07/18/01 aliu Creation.
6 **********************************************************************
7 */
8 #ifndef UNIMATCH_H
9 #define UNIMATCH_H
10
11 #include "unicode/utypes.h"
12
19 U_NAMESPACE_BEGIN
20
21 class Replaceable;
22 class UnicodeString;
23 class UnicodeSet;
24
30 enum UMatchDegree {
38 U_MISMATCH,
39
50 U_PARTIAL_MATCH,
51
60 U_MATCH
61 };
62
68 class U_COMMON_API UnicodeMatcher /* not : public UObject because this is an interface/mixin class */ {
69
70 public:
75 virtual ~UnicodeMatcher();
76
123 virtual UMatchDegree matches(const Replaceable& text,
124 int32_t& offset,
125 int32_t limit,
126 UBool incremental) = 0;
127
140 virtual UnicodeString& toPattern(UnicodeString& result,
141 UBool escapeUnprintable = FALSE) const = 0;
142
150 virtual UBool matchesIndexValue(uint8_t v) const = 0;
151
158 virtual void addMatchSetTo(UnicodeSet& toUnionTo) const = 0;
159 };
160
161 U_NAMESPACE_END
162
163 #endif