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

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:
UObject UMemory UnicodeFilter UnicodeSet

Public Member Functions

virtual ~UnicodeFunctor ()
 Destructor. More...
 
virtual UnicodeFunctorclone () 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 =0
 Returns a unique class ID polymorphically. More...
 
virtual void setData (const TransliterationRuleData *)=0
 Set the data object associated with this functor. More...
 
- Public Member Functions inherited from UObject
virtual ~UObject ()
 Destructor. More...
 

Static Public Member Functions

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

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

Author
Alan Liu
Stable:
ICU 2.4

Definition at line 33 of file unifunct.h.

Constructor & Destructor Documentation

virtual UnicodeFunctor::~UnicodeFunctor ( )
virtual

Destructor.

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.

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

Implements UObject.

Implemented in UnicodeSet, and UnicodeFilter.

static UClassID 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.
Stable:
ICU 2.0
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.

Internal:
Do not use. This API is for internal use only. 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.

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.

Stable:
ICU 2.4

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