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

UObject Class Reference

UObject is the common ICU "boilerplate" class. More...

#include <uobject.h>

Inheritance diagram for UObject::

UMemory BreakIterator Calendar CanonicalIterator CollationElementIterator CollationKey Collator CollatorFactory DateFormatSymbols DecimalFormatSymbols FieldPosition Format Formattable ForwardCharacterIterator ICULayoutEngine LayoutEngine LEFontInstance Locale Normalizer NumberFormatFactory ParagraphLayout ParagraphLayout::Line ParagraphLayout::VisualRun ParsePosition RegexMatcher RegexPattern Replaceable ResourceBundle RunArray SearchIterator StringEnumeration TimeZone Transliterator UnicodeFunctor UnicodeSetIterator List of all members.

Public Methods

virtual ~UObject ()
 Destructor. More...

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


Detailed Description

UObject is the common ICU "boilerplate" class.

UObject inherits UMemory (starting with ICU 2.4), and all other public ICU C++ classes are derived from UObject (starting with ICU 2.2).

UObject contains common virtual functions like for ICU's "poor man's RTTI". It does not contain default implementations of virtual methods like getDynamicClassID to allow derived classes such as Format to declare these as pure virtual.

The clone() function is not available in UObject because it is not implemented by all ICU classes. Many ICU services provide a clone() function for their class trees, defined on the service's C++ base class, and all subclasses within that service class tree return a pointer to the service base class (which itself is a subclass of UObject). This is because some compilers do not support covariant (same-as-this) return types; cast to the appropriate subclass if necessary.

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

Definition at line 156 of file uobject.h.


Constructor & Destructor Documentation

virtual UObject::~UObject   [inline, virtual]
 

Destructor.

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

Definition at line 163 of file uobject.h.


Member Function Documentation

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

ICU4C "poor man's RTTI", returns a UClassID for the actual ICU 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 in BreakIterator, Calendar, CanonicalIterator, ForwardCharacterIterator, ChoiceFormat, CollationElementIterator, Collator, DictionaryBasedBreakIterator, DecimalFormatSymbols, DecimalFormat, DateFormatSymbols, FieldPosition, Formattable, Format, GregorianCalendar, Locale, ICULayoutEngine, MessageFormat, Normalizer, NumberFormat, ParsePosition, RuleBasedBreakIterator, RuleBasedNumberFormat, RegexPattern, RegexMatcher, ResourceBundle, StringCharacterIterator, SimpleTimeZone, SimpleDateFormat, CollationKey, StringSearch, RuleBasedCollator, TimeZone, Transliterator, UCharCharacterIterator, UnicodeFilter, UnicodeFunctor, UnicodeSet, UnicodeString, UnicodeSetIterator, ArabicOpenTypeLayoutEngine, GXLayoutEngine, HanOpenTypeLayoutEngine, IndicOpenTypeLayoutEngine, LayoutEngine, LEFontInstance, OpenTypeLayoutEngine, ParagraphLayout::Line, ParagraphLayout::VisualRun, ParagraphLayout, RunArray, FontRuns, LocaleRuns, ValueRuns, and ThaiLayoutEngine.


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