ICU 50.1.2  50.1.2
Public Member Functions
icu::UObject Class Referenceabstract

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

#include <uobject.h>

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

Public Member Functions

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.

Stable:
ICU 2.2

Definition at line 229 of file uobject.h.

Constructor & Destructor Documentation

virtual icu::UObject::~UObject ( )
virtual

Destructor.

Stable:
ICU 2.2

Member Function Documentation

virtual UClassID icu::UObject::getDynamicClassID ( ) const
pure virtual

ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.

Stable:
ICU 2.2

Implemented in icu::UnicodeString, icu::DecimalFormat, icu::RegexMatcher, icu::UnicodeSet, icu::Calendar, icu::Transliterator, icu::RuleBasedNumberFormat, icu::NumberFormat, icu::Collator, icu::MessageFormat, icu::TimeArrayTimeZoneRule, icu::SimpleTimeZone, icu::SimpleDateFormat, icu::Normalizer, icu::TimeZone, icu::Locale, icu::ValueRuns, icu::AnnualTimeZoneRule, icu::Formattable, icu::RuleBasedBreakIterator, icu::RegexPattern, icu::ParagraphLayout, icu::DateIntervalFormat, icu::ChoiceFormat, icu::DateFormatSymbols, icu::LEGlyphStorage, icu::LEFontInstance, icu::TimeZoneFormat, icu::PluralFormat, icu::LayoutEngine, icu::LocaleRuns, icu::ResourceBundle, icu::GregorianCalendar, icu::VTimeZone, icu::StringSearch, icu::RuleBasedCollator, icu::DateTimePatternGenerator, icu::CollData, icu::PluralRules, icu::InitialTimeZoneRule, icu::UCharCharacterIterator, icu::FontRuns, icu::RuleBasedTimeZone, icu::SelectFormat, icu::DateIntervalInfo, icu::ParagraphLayout::VisualRun, icu::DecimalFormatSymbols, icu::CollationElementIterator, icu::DateTimeRule, icu::UnicodeSetIterator, icu::StringList, icu::FieldPosition, icu::CollationKey, icu::TimeUnitFormat, icu::BoyerMooreSearch, icu::TimeZoneTransition, icu::CurrencyPluralInfo, icu::NumberingSystem, icu::ParsePosition, icu::RunArray, icu::StringCharacterIterator, icu::ParagraphLayout::Line, icu::CanonicalIterator, icu::BreakIterator, icu::ForwardCharacterIterator, icu::CEList, icu::TimeUnitAmount, icu::TimeUnit, icu::UnicodeFunctor, icu::CurrencyAmount, icu::DateInterval, and icu::CurrencyUnit.


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