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:

Inheritance graph
[legend]
Collaboration diagram for UnicodeFunctor:

Collaboration graph
[legend]

Public Member Functions

virtual ~UnicodeFunctor ()
 Destructor.
virtual UnicodeFunctorclone () const =0
 Return a copy of this object.
virtual UnicodeMatchertoMatcher () const
 Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*.
virtual UnicodeReplacertoReplacer () const
 Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*.
virtual UClassID getDynamicClassID (void) const =0
 Returns a unique class ID polymorphically.
virtual void setData (const TransliterationRuleData *)=0
 Set the data object associated with this functor.

Static Public Member Functions

UClassID U_EXPORT2 getStaticClassID (void)
 Return the class ID for this class.

Detailed Description

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

Author:
Alan Liu
ICU_Stable:
ICU 2.4

Definition at line 29 of file unifunct.h.


Constructor & Destructor Documentation

virtual UnicodeFunctor::~UnicodeFunctor  )  [virtual]
 

Destructor.

ICU_Stable:
ICU 2.4


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.

ICU_Stable:
ICU 2.4

Implemented in UnicodeSet.

virtual UClassID UnicodeFunctor::getDynamicClassID void   )  const [pure 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 should use the macro UOBJECT_DEFINE_RTTI_IMPLEMENTATION from uobject.h to provide definitios getStaticClassID and getDynamicClassID.

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.
ICU_Stable:
ICU 2.4

Implements UObject.

Implemented in UnicodeFilter, and UnicodeSet.

UClassID U_EXPORT2 UnicodeFunctor::getStaticClassID void   )  [static]
 

Return the class ID for this class.

This is useful only for comparing to a return value from getDynamicClassID().

Returns:
The class ID for all objects of this class.
ICU_Stable:
ICU 2.0

Reimplemented in UnicodeFilter, and UnicodeSet.

virtual void UnicodeFunctor::setData const TransliterationRuleData *   )  [pure virtual]
 

Set the data object associated with this functor.

The data object provides context for functor-to-standin mapping. This method is required when assigning a functor to a different data object. This function MAY GO AWAY later if the architecture is changed to pass data object pointers through the API.

ICU_Internal:
ICU 2.1

Implemented in UnicodeFilter.

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.

ICU_Stable:
ICU 2.4

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.

ICU_Stable:
ICU 2.4


The documentation for this class was generated from the following file:
Generated on Tue Jul 26 00:44:27 2005 for ICU 3.2 by  doxygen 1.3.9.1