Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

UnicodeFilter Class Reference

UnicodeFilter defines a protocol for selecting a subset of the full range (U+0000 to U+10FFFF) of Unicode characters. More...

#include <unifilt.h>

Inheritance diagram for UnicodeFilter::

UnicodeFunctor UnicodeMatcher UObject UMemory UnicodeSet List of all members.

Public Methods

virtual ~UnicodeFilter ()
 Destructor. More...

virtual UBool contains (UChar32 c) const=0
 Returns true for characters that are in the selected subset. More...

virtual UnicodeMatchertoMatcher () const
 UnicodeFunctor API. More...

virtual UMatchDegree matches (const Replaceable &text, int32_t &offset, int32_t limit, UBool incremental)
 Implement UnicodeMatcher API. More...

virtual void setData (const TransliterationRuleData *)
 UnicodeFunctor API. More...

virtual UClassID getDynamicClassID () const=0
 ICU "poor man's RTTI", returns a UClassID for the actual class. More...


Static Public Methods

UClassID getStaticClassID ()
 ICU "poor man's RTTI", returns a UClassID for this class. More...


Protected Methods

 UnicodeFilter ()

Static Private Attributes

const char fgClassID
 The address of this static class variable serves as this class's ID for ICU "poor man's RTTI". More...


Detailed Description

UnicodeFilter defines a protocol for selecting a subset of the full range (U+0000 to U+10FFFF) of Unicode characters.

Currently, filters are used in conjunction with classes like Transliterator to only process selected characters through a transformation.

Note: UnicodeFilter currently stubs out two pure virtual methods of its base class, UnicodeMatcher. These methods are toPattern() and matchesIndexValue(). This is done so that filter classes that are not actually used as matchers -- specifically, those in the UnicodeFilterLogic component, and those in tests -- can continue to work without defining these methods. As long as a filter is not used in an RBT during real transliteration, these methods will not be called. However, this breaks the UnicodeMatcher base class protocol, and it is not a correct solution.

In the future we may revisit the UnicodeMatcher / UnicodeFilter hierarchy and either redesign it, or simply remove the stubs in UnicodeFilter and force subclasses to implement the full UnicodeMatcher protocol.

See also:
UnicodeFilterLogic
Stable:
ICU 2.0

Definition at line 50 of file unifilt.h.


Constructor & Destructor Documentation

UnicodeFilter::~UnicodeFilter   [inline, virtual]
 

Destructor.

Stable:
ICU 2.0

Definition at line 121 of file unifilt.h.

UnicodeFilter::UnicodeFilter   [inline, protected]
 

Stable:
ICU 2.0

Definition at line 120 of file unifilt.h.


Member Function Documentation

virtual UBool UnicodeFilter::contains UChar32    c const [pure virtual]
 

Returns true for characters that are in the selected subset.

In other words, if a character is to be filtered, then contains() returns false.

Stable:
ICU 2.0

Reimplemented in UnicodeSet.

virtual UClassID UnicodeFilter::getDynamicClassID void    const [inline, pure virtual]
 

ICU "poor man's RTTI", returns a UClassID for the actual class.

Draft:
This API has been introduced in ICU 2.2. It is still in draft state and may be modified in a future release.

Reimplemented from UnicodeFunctor.

Reimplemented in UnicodeSet.

UClassID UnicodeFilter::getStaticClassID void    [inline, static]
 

ICU "poor man's RTTI", returns a UClassID for this class.

Draft:
This API has been introduced in ICU 2.2. It is still in draft state and may be modified in a future release.

Reimplemented from UnicodeFunctor.

Reimplemented in UnicodeSet.

Definition at line 102 of file unifilt.h.

virtual UMatchDegree UnicodeFilter::matches const Replaceable   text,
int32_t   offset,
int32_t    limit,
UBool    incremental
[virtual]
 

Implement UnicodeMatcher API.

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

Reimplemented from UnicodeMatcher.

Reimplemented in UnicodeSet.

virtual void UnicodeFilter::setData const TransliterationRuleData *    [inline, virtual]
 

UnicodeFunctor API.

Nothing to do.

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

Reimplemented from UnicodeFunctor.

Definition at line 88 of file unifilt.h.

virtual UnicodeMatcher* UnicodeFilter::toMatcher   const [virtual]
 

UnicodeFunctor API.

Cast 'this' to a UnicodeMatcher* pointer and return the pointer.

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

Reimplemented from UnicodeFunctor.


Member Data Documentation

const char UnicodeFilter::fgClassID [static, private]
 

The address of this static class variable serves as this class's ID for ICU "poor man's RTTI".

Reimplemented from UnicodeFunctor.

Reimplemented in UnicodeSet.

Definition at line 117 of file unifilt.h.


The documentation for this class was generated from the following file:
Generated on Thu Jun 12 13:12:18 2003 for ICU 2.6 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001