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::CollationKey icu::Collator icu::CollatorFactory icu::CurrencyPluralInfo icu::DateInterval icu::DateTimePatternGenerator icu::DateTimeRule icu::DecimalFormatSymbols icu::FieldPosition icu::FieldPositionIterator icu::FilteredBreakIteratorBuilder icu::final icu::final icu::final icu::final icu::final icu::final icu::Format icu::Formattable icu::ForwardCharacterIterator icu::GenderInfo icu::IDNA 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::Region icu::RelativeDateTimeFormatter icu::Replaceable icu::ResourceBundle icu::RunArray icu::ScientificNumberFormatter icu::SearchIterator icu::StringEnumeration icu::StringTrieBuilder icu::TimeZone icu::TimeZoneNames icu::TimeZoneRule icu::TimeZoneTransition icu::Transliterator icu::UnicodeFunctor icu::UnicodeSetIterator

Public Member Functions

virtual ~UObject ()
 Destructor.
virtual UClassID getDynamicClassID () const
 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, 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 220 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 [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::BreakIterator, icu::final, icu::ForwardCharacterIterator, icu::DateInterval, icu::Locale, icu::Normalizer, icu::ParsePosition, icu::RuleBasedBreakIterator, icu::ResourceBundle, icu::StringCharacterIterator, icu::UCharCharacterIterator, icu::UnicodeFunctor, icu::final, icu::UnicodeString, icu::UnicodeSetIterator, icu::Calendar, icu::ChoiceFormat, icu::final, icu::Collator, icu::CompactDecimalFormat, icu::CurrencyAmount, icu::CurrencyPluralInfo, icu::CurrencyUnit, icu::DecimalFormatSymbols, icu::DecimalFormat, icu::final, icu::DateIntervalFormat, icu::final, icu::DateTimePatternGenerator, icu::DateTimeRule, icu::FieldPosition, icu::Formattable, icu::GregorianCalendar, icu::MeasureFormat, icu::MeasureUnit, icu::Measure, icu::MessageFormat, icu::NoUnit, icu::NumberFormat, icu::NumberingSystem, icu::PluralFormat, icu::PluralRules, icu::RuleBasedNumberFormat, icu::RuleBasedTimeZone, icu::final, icu::final, icu::SelectFormat, icu::SimpleTimeZone, icu::SimpleDateFormat, icu::CollationKey, icu::final, icu::RuleBasedCollator, icu::TimeZone, icu::TimeUnit, icu::TimeUnitAmount, icu::TimeUnitFormat, icu::Transliterator, icu::TimeZoneFormat, icu::InitialTimeZoneRule, icu::AnnualTimeZoneRule, icu::TimeArrayTimeZoneRule, icu::TimeZoneTransition, icu::VTimeZone, icu::ParagraphLayout::Line, icu::ParagraphLayout::VisualRun, icu::ParagraphLayout, icu::RunArray, icu::FontRuns, icu::LocaleRuns, and icu::ValueRuns.


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

Generated on 12 Nov 2018 for ICU 63.1 by  doxygen 1.6.1