UnicodeMatcher::matches()
matches()
UnicodeMatcher
Note: This method is not const because some classes may 103 * modify their state as the result of a match. 104 * 105 * @param text the text to be matched 106 * @param offset on input, the index into text at which to begin 107 * matching. On output, the limit of the matched text. The 108 * number of matched characters is the output value of offset 109 * minus the input value. Offset should always point to the 110 * HIGH SURROGATE (leading code unit) of a pair of surrogates, 111 * both on entry and upon return. 112 * @param limit the limit index of text to be matched. Greater 113 * than offset for a forward direction match, less than offset for 114 * a backward direction match. The last character to be 115 * considered for matching will be text.charAt(limit-1) in the 116 * forward direction or text.charAt(limit+1) in the backward 117 * direction. 118 * @param incremental if true, then assume further characters may 119 * be inserted at limit and check for partial matching. Otherwise 120 * assume the text as given is complete. 121 * @return a match degree value indicating a full match, a partial 122 * match, or a mismatch. If incremental is false then 123 * U_PARTIAL_MATCH should never be returned. 124 * @stable ICU 2.4 125 */ 126 virtual UMatchDegree matches(const Replaceable& text, 127 int32_t& offset, 128 int32_t limit, 129 UBool incremental) = 0; 130 131 /** 132 * Returns a string representation of this matcher. If the result of 133 * calling this function is passed to the appropriate parser, it 134 * will produce another matcher that is equal to this one. 135 * @param result the string to receive the pattern. Previous 136 * contents will be deleted. 137 * @param escapeUnprintable if true then convert unprintable 138 * character to their hex escape representations, \\uxxxx or 139 * \\Uxxxxxxxx. Unprintable characters are those other than 140 * U+000A, U+0020..U+007E. 141 * @stable ICU 2.4 142 */ 143 virtual UnicodeString& toPattern(UnicodeString& result, 144 UBool escapeUnprintable = false) const = 0; 145 146 /** 147 * Returns true if this matcher will match a character c, where c 148 * & 0xFF == v, at offset, in the forward direction (with limit > 149 * offset). This is used by RuleBasedTransliterator for 150 * indexing. 151 * @stable ICU 2.4 152 */ 153 virtual UBool matchesIndexValue(uint8_t v) const = 0; 154 155 /** 156 * Union the set of all characters that may be matched by this object 157 * into the given set. 158 * @param toUnionTo the set into which to union the source characters 159 * @stable ICU 2.4 160 */ 161 virtual void addMatchSetTo(UnicodeSet& toUnionTo) const = 0; 162 }; 163 164 U_NAMESPACE_END 165 166 #endif /* U_SHOW_CPLUSPLUS_API */ 167 168 #endif