ICU 64.2  64.2
Public Member Functions
icu::UObject Class Reference

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

#include <uobject.h>

Inheritance diagram for icu::UObject:
icu::UMemory icu::AlphabeticIndex icu::AlphabeticIndex::Bucket icu::AlphabeticIndex::ImmutableIndex icu::Appendable icu::BreakIterator icu::Calendar icu::CanonicalIterator icu::CollationElementIterator icu::CollationKey icu::Collator icu::CollatorFactory icu::CurrencyPluralInfo icu::DateFormatSymbols icu::DateInterval icu::DateIntervalInfo icu::DateTimePatternGenerator icu::DateTimeRule icu::DecimalFormatSymbols icu::FieldPosition icu::FieldPositionIterator icu::FilteredBreakIteratorBuilder icu::Format icu::Formattable icu::ForwardCharacterIterator icu::GenderInfo icu::IDNA icu::ListFormatter icu::Locale icu::LocaleBuilder 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::Region icu::RelativeDateTimeFormatter icu::Replaceable icu::ResourceBundle icu::RunArray icu::ScientificNumberFormatter icu::SearchIterator icu::StringEnumeration 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
 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, in particular a virtual destructor.

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 223 of file uobject.h.

Constructor & Destructor Documentation

◆ ~UObject()

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

Destructor.

Stable:
ICU 2.2

Member Function Documentation

◆ getDynamicClassID()

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

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

The base class implementation returns a dummy value.

Use compiler RTTI rather than ICU's "poor man's RTTI". Since ICU 4.6, new ICU C++ class hierarchies do not implement "poor man's RTTI".

Stable:
ICU 2.2

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

Referenced by icu::MessageFormat::getApostropheMode(), icu::MeasureUnit::operator!=(), icu::RegexPattern::operator!=(), icu::BreakIterator::operator!=(), icu::DecimalFormatSymbols::operator!=(), icu::Calendar::operator!=(), icu::ParsePosition::ParsePosition(), icu::FieldPosition::setEndIndex(), and icu::UnicodeString::UnicodeString().


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