ICU 4.2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
UnicodeFilter Class Referenceabstract

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

Public Member Functions

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...
 
- Public Member Functions inherited from UnicodeFunctor
virtual ~UnicodeFunctor ()
 Destructor. More...
 
virtual UnicodeFunctorclone () const =0
 Return a copy of this object. More...
 
virtual UnicodeReplacertoReplacer () const
 Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*. More...
 
- Public Member Functions inherited from UObject
virtual ~UObject ()
 Destructor. More...
 
- Public Member Functions inherited from UnicodeMatcher
virtual ~UnicodeMatcher ()
 Destructor. More...
 
virtual UnicodeStringtoPattern (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 void addMatchSetTo (UnicodeSet &toUnionTo) const =0
 Union the set of all characters that may be matched by this object into the given set. More...
 

Static Public Member Functions

static UClassID getStaticClassID ()
 ICU "poor man's RTTI", returns a UClassID for this class. More...
 
- Static Public Member Functions inherited from UnicodeFunctor
static UClassID getStaticClassID (void)
 Return the class ID for this class. More...
 
- Static Public Member Functions inherited from UMemory
static void * operator new (size_t size)
 Override for ICU4C C++ memory management. More...
 
static void * operator new[] (size_t size)
 Override for ICU4C C++ memory management. More...
 
static void operator delete (void *p)
 Override for ICU4C C++ memory management. More...
 
static void operator delete[] (void *p)
 Override for ICU4C C++ memory management. More...
 
static void * operator new (size_t, void *ptr)
 Override for ICU4C C++ memory management for STL. More...
 
static void operator delete (void *, void *)
 Override for ICU4C C++ memory management for STL. 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 59 of file unifilt.h.

Constructor & Destructor Documentation

virtual UnicodeFilter::~UnicodeFilter ( )
virtual

Destructor.

Stable:
ICU 2.0

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

Implemented in UnicodeSet.

virtual UClassID UnicodeFilter::getDynamicClassID ( ) const
pure virtual

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

Stable:
ICU 2.2

Implements UnicodeFunctor.

Implemented in UnicodeSet.

static UClassID UnicodeFilter::getStaticClassID ( )
static

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

Stable:
ICU 2.2
virtual UMatchDegree UnicodeFilter::matches ( const Replaceable text,
int32_t offset,
int32_t  limit,
UBool  incremental 
)
virtual

Implement UnicodeMatcher API.

Stable:
ICU 2.4

Implements UnicodeMatcher.

Reimplemented in UnicodeSet.

virtual void UnicodeFilter::setData ( const TransliterationRuleData *  )
virtual

UnicodeFunctor API.

Nothing to do.

Stable:
ICU 2.4

Implements UnicodeFunctor.

virtual UnicodeMatcher* UnicodeFilter::toMatcher ( ) const
virtual

UnicodeFunctor API.

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

Stable:
ICU 2.4

Reimplemented from UnicodeFunctor.


The documentation for this class was generated from the following file: