ICU 50.2 50.2
UObject Class Referenceabstract

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

#include <uobject.h>

Inheritance diagram for UObject:
UMemory AlphabeticIndex Appendable BoyerMooreSearch BreakIterator CEList Calendar CanonicalIterator CollData CollationElementIterator CollationKey Collator CollatorFactory CurrencyPluralInfo DateFormatSymbols DateInterval DateIntervalInfo DateTimePatternGenerator DateTimeRule DecimalFormatSymbols FieldPosition FieldPositionIterator Format Formattable ForwardCharacterIterator GenderInfo IDNA LEFontInstance LEGlyphStorage LayoutEngine ListFormatter Locale LocaleDisplayNames Measure MeasureUnit MessagePattern Normalizer Normalizer2 NumberFormatFactory NumberingSystem ParagraphLayout ParagraphLayout::Line ParagraphLayout::VisualRun ParsePosition PluralRules RegexMatcher RegexPattern Replaceable ResourceBundle RunArray SearchIterator StringEnumeration StringList StringTrieBuilder StringTrieBuilder::Node TimeZone TimeZoneNames TimeZoneRule TimeZoneTransition Transliterator UnicodeFunctor UnicodeSetIterator

Public Member Functions

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

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.

Stable
ICU 2.2

Definition at line 229 of file uobject.h.

Constructor & Destructor Documentation

◆ ~UObject()

virtual UObject::~UObject ( )
virtual

Destructor.

Stable
ICU 2.2

Member Function Documentation

◆ getDynamicClassID()


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