UnicodeMatcher
defines a protocol for objects that can match a range of characters in a Replaceable string.
More...
#include <unimatch.h>
Inheritance diagram for UnicodeMatcher::
Public Methods | |
virtual | ~UnicodeMatcher () |
Destructor. More... | |
virtual UnicodeMatcher * | clone () const=0 |
Returns a copy of this object. More... | |
virtual UMatchDegree | matches (const Replaceable &text, int32_t &offset, int32_t limit, UBool incremental)=0 |
Return a UMatchDegree value indicating the degree of match for the given text at the given offset. More... | |
virtual UnicodeString & | toPattern (UnicodeString &result, UBool escapeUnprintable=FALSE) const=0 |
Returns a string representation of this matcher. More... | |
virtual UBool | matchesIndexValue (uint8_t v) const=0 |
Returns TRUE if this matcher will match a character c, where c & 0xFF == v, at offset, in the forward direction (with limit > offset). More... | |
virtual UClassID | getDynamicClassID (void) const |
Returns a unique class ID polymorphically. More... | |
Static Public Methods | |
UClassID | getStaticClassID (void) |
Return the class ID for this class. More... | |
Protected Methods | |
UnicodeMatcher () | |
Static Private Attributes | |
const char | fgClassID |
Class identifier for subclasses of UnicodeMatcher that do not define their class (anonymous subclasses). More... |
UnicodeMatcher
defines a protocol for objects that can match a range of characters in a Replaceable string.
Definition at line 56 of file unimatch.h.
|
Destructor.
Definition at line 195 of file unimatch.h. |
|
Definition at line 194 of file unimatch.h. |
|
Returns a copy of this object. All UnicodeMatcher objects have to support cloning in order to allow classes using UnicodeMatchers to implement cloning. Reimplemented in UnicodeSet. |
|
Returns a unique class ID polymorphically. This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic operator==() and clone() methods call this method.
Concrete subclasses of UnicodeMatcher that wish clients to be able to identify them should implement getDynamicClassID() and also a static method and data member:
static UClassID getStaticClassID() { return (UClassID)&fgClassID; } static char fgClassID; Subclasses that do not implement this method will have a dynamic class ID of UnicodeMatcher::getStatisClassID().
Reimplemented in UnicodeSet. Definition at line 179 of file unimatch.h. |
|
Return the class ID for this class. This is useful only for comparing to a return value from getDynamicClassID(). For example: . Base* polymorphic_pointer = createPolymorphicObject(); . if (polymorphic_pointer->getDynamicClassID() == . Derived::getStaticClassID()) ...
Reimplemented in UnicodeSet. Definition at line 155 of file unimatch.h. Referenced by UnicodeSet::getDynamicClassID().
|
|
Return a UMatchDegree value indicating the degree of match for the given text at the given offset. Zero, one, or more characters may be matched. Matching in the forward direction is indicated by limit > offset. Characters from offset forwards to limit-1 will be considered for matching. Matching in the reverse direction is indicated by limit < offset. Characters from offset backwards to limit+1 will be considered for matching. If limit == offset then the only match possible is a zero character match (which subclasses may implement if desired). As a side effect, advance the offset parameter to the limit of the matched substring. In the forward direction, this will be the index of the last matched character plus one. In the reverse direction, this will be the index of the last matched character minus one.
Note: This method is not const because some classes may modify their state as the result of a match.
Reimplemented in UnicodeFilter, and UnicodeSet. |
|
Returns TRUE if this matcher will match a character c, where c & 0xFF == v, at offset, in the forward direction (with limit > offset).
This is used by Reimplemented in UnicodeFilter, and UnicodeSet. |
|
Returns a string representation of this matcher. If the result of calling this function is passed to the appropriate parser, it will produce another matcher that is equal to this one.
Reimplemented in UnicodeFilter, and UnicodeSet. |
|
Class identifier for subclasses of UnicodeMatcher that do not define their class (anonymous subclasses).
Reimplemented in UnicodeSet. Definition at line 187 of file unimatch.h. |