ICU 50.1.2  50.1.2
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 
20 
21 class Replaceable;
22 class UnicodeString;
23 class UnicodeSet;
24 
39 
51 
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 
162 
163 #endif
Constant returned by matches() indicating a mismatch between the text and this matcher.
Definition: unimatch.h:38
UnicodeMatcher defines a protocol for objects that can match a range of characters in a Replaceable s...
Definition: unimatch.h:68
Constant returned by matches() indicating a complete match between the text and this matcher...
Definition: unimatch.h:60
UMatchDegree
Constants returned by UnicodeMatcher::matches() indicating the degree of match.
Definition: unimatch.h:30
Constant returned by matches() indicating a partial match between the text and this matcher...
Definition: unimatch.h:50
Replaceable is an abstract base class representing a string of characters that supports the replaceme...
Definition: rep.h:71
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
A mutable set of Unicode characters and multicharacter strings.
Definition: uniset.h:273
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
Basic definitions for ICU, for both C and C++ APIs.
#define FALSE
The FALSE value of a UBool.
Definition: umachine.h:208
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
Definition: utypes.h:357
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:246
int8_t UBool
The ICU boolean type.
Definition: umachine.h:200