Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

UnicodeFunctor Class Reference

UnicodeFunctor is an abstract base class for objects that perform match and/or replace operations on Unicode strings. More...

#include <unifunct.h>

Inheritance diagram for UnicodeFunctor:

UnicodeFilter UnicodeSet

Public Methods

virtual ~UnicodeFunctor ()
 Destructor.

virtual UnicodeFunctor * clone () const=0
 Return a copy of this object. More...

virtual UnicodeMatchertoMatcher () const
 Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*. More...

virtual UnicodeReplacertoReplacer () const
 Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*. 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

 UnicodeFunctor ()

Detailed Description

UnicodeFunctor is an abstract base class for objects that perform match and/or replace operations on Unicode strings.

Author:
Alan Liu


Member Function Documentation

virtual UnicodeFunctor* UnicodeFunctor::clone   const [pure virtual]
 

Return a copy of this object.

All UnicodeFunctor objects have to support cloning in order to allow classes using UnicodeFunctor to implement cloning.

Implemented in UnicodeSet.

virtual UClassID UnicodeFunctor::getDynamicClassID void    const [inline, virtual]
 

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 UnicodeFunctor 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 UnicodeFunctor::getStatisClassID().

Returns:
The class ID for this object. All objects of a given class have the same class ID. Objects of other classes have different class IDs.

Reimplemented in UnicodeSet.

UClassID UnicodeFunctor::getStaticClassID void    [inline, static]
 

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()) ...
 
Returns:
The class ID for all objects of this class. @stable

Reimplemented in UnicodeSet.

virtual UnicodeMatcher* UnicodeFunctor::toMatcher   const [virtual]
 

Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*.

Subclasses that mix in UnicodeMatcher as a base class must override this. This protocol is required because a pointer to a UnicodeFunctor cannot be cast to a pointer to a UnicodeMatcher, since UnicodeMatcher is a mixin that does not derive from UnicodeFunctor.

Reimplemented in UnicodeFilter.

virtual UnicodeReplacer* UnicodeFunctor::toReplacer   const [virtual]
 

Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*.

Subclasses that mix in UnicodeReplacer as a base class must override this. This protocol is required because a pointer to a UnicodeFunctor cannot be cast to a pointer to a UnicodeReplacer, since UnicodeReplacer is a mixin that does not derive from UnicodeFunctor.


The documentation for this class was generated from the following file:
Generated on Mon Mar 4 20:10:57 2002 for ICU 2.0 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002