ICU-4142 Use current the ICU RTTI style in the layout engine

X-SVN-Rev: 16557
This commit is contained in:
George Rhoten 2004-10-19 06:25:41 +00:00
parent dbf6b9b765
commit 9af532a6ac
39 changed files with 73 additions and 196 deletions

View File

@ -31,7 +31,7 @@ le_bool CharSubstitutionFilter::accept(LEGlyphID glyph) const
return fFontInstance->canDisplay((LEUnicode) glyph);
}
const char ArabicOpenTypeLayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ArabicOpenTypeLayoutEngine)
ArabicOpenTypeLayoutEngine::ArabicOpenTypeLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,
const GlyphSubstitutionTableHeader *gsubTable)

View File

@ -78,14 +78,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
protected:
@ -134,13 +134,6 @@ protected:
// static void adjustMarkGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool rightToLeft, LEGlyphStorage &glyphStorage, LEErrorCode &success);
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
/**

View File

@ -16,7 +16,7 @@
U_NAMESPACE_BEGIN
const char ContextualGlyphSubstitutionProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ContextualGlyphSubstitutionProcessor)
ContextualGlyphSubstitutionProcessor::ContextualGlyphSubstitutionProcessor(const MorphSubtableHeader *morphSubtableHeader)
: StateTableProcessor(morphSubtableHeader)

View File

@ -39,14 +39,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
ContextualGlyphSubstitutionProcessor();
@ -59,13 +59,6 @@ protected:
const ContextualGlyphSubstitutionHeader *contextualGlyphSubstitutionHeader;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -325,7 +325,7 @@ le_uint32 ChainingContextualSubstitutionSubtable::process(const LookupProcessor
}
}
const LETag emptyTag = 0;
static const LETag emptyTag = 0;
le_uint32 ChainingContextualSubstitutionFormat1Subtable::process(const LookupProcessor *lookupProcessor, GlyphIterator *glyphIterator,
const LEFontInstance *fontInstance) const

View File

@ -14,7 +14,7 @@
U_NAMESPACE_BEGIN
const char GXLayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(GXLayoutEngine)
GXLayoutEngine::GXLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, const MorphTableHeader *morphTable)
: LayoutEngine(fontInstance, scriptCode, languageCode), fMorphTable(morphTable)

View File

@ -62,14 +62,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
protected:
@ -118,13 +118,6 @@ protected:
virtual void adjustGlyphPositions(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse,
LEGlyphStorage &glyphStorage, LEErrorCode &success);
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -16,7 +16,7 @@
U_NAMESPACE_BEGIN
const char HanOpenTypeLayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(HanOpenTypeLayoutEngine)
HanOpenTypeLayoutEngine::HanOpenTypeLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,
const GlyphSubstitutionTableHeader *gsubTable)
@ -30,13 +30,13 @@ HanOpenTypeLayoutEngine::~HanOpenTypeLayoutEngine()
// nothing to do
}
const LETag emptyTag = 0x00000000;
static const LETag emptyTag = 0x00000000;
const LETag loclFeatureTag = LE_LOCL_FEATURE_TAG;
const LETag smplFeatureTag = LE_SMPL_FEATURE_TAG;
const LETag tradFeatureTag = LE_TRAD_FEATURE_TAG;
static const LETag loclFeatureTag = LE_LOCL_FEATURE_TAG;
static const LETag smplFeatureTag = LE_SMPL_FEATURE_TAG;
static const LETag tradFeatureTag = LE_TRAD_FEATURE_TAG;
const LETag features[] = {loclFeatureTag, emptyTag};
static const LETag features[] = {loclFeatureTag, emptyTag};
le_int32 HanOpenTypeLayoutEngine::characterProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool /*rightToLeft*/,
LEUnicode *&/*outChars*/, LEGlyphStorage &glyphStorage, LEErrorCode &success)

View File

@ -62,14 +62,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
protected:
@ -98,14 +98,6 @@ protected:
virtual le_int32 characterProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success);
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -22,7 +22,7 @@
U_NAMESPACE_BEGIN
const char IndicOpenTypeLayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(IndicOpenTypeLayoutEngine)
IndicOpenTypeLayoutEngine::IndicOpenTypeLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,
const GlyphSubstitutionTableHeader *gsubTable)

View File

@ -84,14 +84,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
protected:
@ -153,12 +153,6 @@ protected:
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
MPreFixups *fMPreFixups;
};

View File

@ -16,7 +16,7 @@
U_NAMESPACE_BEGIN
const char IndicRearrangementProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(IndicRearrangementProcessor)
IndicRearrangementProcessor::IndicRearrangementProcessor(const MorphSubtableHeader *morphSubtableHeader)
: StateTableProcessor(morphSubtableHeader)

View File

@ -41,14 +41,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
protected:
le_int32 firstGlyph;
@ -57,13 +57,6 @@ protected:
const IndicRearrangementStateEntry *entryTable;
const IndicRearrangementSubtableHeader *indicRearrangementSubtableHeader;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -18,7 +18,7 @@
U_NAMESPACE_BEGIN
const char LEFontInstance::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LEFontInstance)
const LEFontInstance *LEFontInstance::getSubFont(const LEUnicode chars[], le_int32 *offset, le_int32 limit,
le_int32 script, LEErrorCode &success) const

View File

@ -478,22 +478,15 @@ public:
*
* @draft ICU 2.6
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @draft ICU 2.6
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
inline le_bool LEFontInstance::canDisplay(LEUnicode32 ch) const

View File

@ -11,7 +11,7 @@
U_NAMESPACE_BEGIN
const char LEGlyphStorage::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LEGlyphStorage)
LEGlyphStorage::LEGlyphStorage()
: fGlyphCount(0), fGlyphs(NULL), fCharIndices(NULL), fPositions(NULL),

View File

@ -86,12 +86,6 @@ private:
*/
le_int32 fDestIndex;
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
protected:
/**
* This implements <code>LEInsertionCallback</code>. The <code>LEInsertionList</code>
@ -484,14 +478,14 @@ public:
*
* @draft ICU 3.0
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @draft ICU 3.0
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
};
inline LEGlyphID &LEGlyphStorage::operator[](le_int32 glyphIndex) const

View File

@ -20,7 +20,7 @@ struct InsertionRecord
LEGlyphID glyphs[ANY_NUMBER];
};
const char LEInsertionList::fgClassID = 0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LEInsertionList)
LEInsertionList::LEInsertionList(le_bool rightToLeft)
: head(NULL), tail(NULL), growAmount(0), append(rightToLeft)

View File

@ -121,23 +121,17 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
/**
* The head of the insertion list.
*

View File

@ -105,13 +105,13 @@ CharSubstitutionFilter::~CharSubstitutionFilter()
}
const char LayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LayoutEngine)
const LETag emptyTag = 0x00000000;
static const LETag emptyTag = 0x00000000;
const LETag ccmpFeatureTag = LE_CCMP_FEATURE_TAG;
static const LETag ccmpFeatureTag = LE_CCMP_FEATURE_TAG;
const LETag canonFeatures[] = {ccmpFeatureTag, emptyTag};
static const LETag canonFeatures[] = {ccmpFeatureTag, emptyTag};
LayoutEngine::LayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode)
: fGlyphStorage(NULL), fFontInstance(fontInstance), fScriptCode(scriptCode), fLanguageCode(languageCode)

View File

@ -443,22 +443,15 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -20,7 +20,7 @@ U_NAMESPACE_BEGIN
#define SignBit(m) ((ExtendedComplement(m) >> 1) & (le_int32)(m))
#define SignExtend(v,m) (((v) & SignBit(m))? ((v) | ExtendedComplement(m)): (v))
const char LigatureSubstitutionProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LigatureSubstitutionProcessor)
LigatureSubstitutionProcessor::LigatureSubstitutionProcessor(const MorphSubtableHeader *morphSubtableHeader)
: StateTableProcessor(morphSubtableHeader)

View File

@ -41,14 +41,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
LigatureSubstitutionProcessor();
@ -65,13 +65,6 @@ protected:
const LigatureSubstitutionHeader *ligatureSubstitutionHeader;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -22,7 +22,7 @@ U_NAMESPACE_BEGIN
const LETag LookupProcessor::notSelected = 0x00000000;
const LETag LookupProcessor::defaultFeature = 0xFFFFFFFF;
const LETag emptyTag = 0x00000000;
static const LETag emptyTag = 0x00000000;
le_uint32 LookupProcessor::applyLookupTable(const LookupTable *lookupTable, GlyphIterator *glyphIterator,

View File

@ -23,18 +23,18 @@
U_NAMESPACE_BEGIN
const char OpenTypeLayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(OpenTypeLayoutEngine)
const LETag emptyTag = 0x00000000;
static const LETag emptyTag = 0x00000000;
const LETag ccmpFeatureTag = LE_CCMP_FEATURE_TAG;
const LETag ligaFeatureTag = LE_LIGA_FEATURE_TAG;
const LETag cligFeatureTag = LE_CLIG_FEATURE_TAG;
const LETag kernFeatureTag = LE_KERN_FEATURE_TAG;
const LETag markFeatureTag = LE_MARK_FEATURE_TAG;
const LETag mkmkFeatureTag = LE_MKMK_FEATURE_TAG;
static const LETag ccmpFeatureTag = LE_CCMP_FEATURE_TAG;
static const LETag ligaFeatureTag = LE_LIGA_FEATURE_TAG;
static const LETag cligFeatureTag = LE_CLIG_FEATURE_TAG;
static const LETag kernFeatureTag = LE_KERN_FEATURE_TAG;
static const LETag markFeatureTag = LE_MARK_FEATURE_TAG;
static const LETag mkmkFeatureTag = LE_MKMK_FEATURE_TAG;
const LETag defaultFeatures[] = {ccmpFeatureTag, ligaFeatureTag, cligFeatureTag, kernFeatureTag, markFeatureTag, mkmkFeatureTag, emptyTag};
static const LETag defaultFeatures[] = {ccmpFeatureTag, ligaFeatureTag, cligFeatureTag, kernFeatureTag, markFeatureTag, mkmkFeatureTag, emptyTag};
OpenTypeLayoutEngine::OpenTypeLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,

View File

@ -115,14 +115,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
@ -142,12 +142,6 @@ private:
*/
static const LETag languageTags[];
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
protected:
/**
* A list of "default" features. The default characterProcessing method

View File

@ -15,7 +15,7 @@
U_NAMESPACE_BEGIN
const char SegmentArrayProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SegmentArrayProcessor)
SegmentArrayProcessor::SegmentArrayProcessor()
{

View File

@ -36,14 +36,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
SegmentArrayProcessor();
@ -51,13 +51,6 @@ private:
protected:
const SegmentArrayLookupTable *segmentArrayLookupTable;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -15,7 +15,7 @@
U_NAMESPACE_BEGIN
const char SegmentSingleProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SegmentSingleProcessor)
SegmentSingleProcessor::SegmentSingleProcessor()
{

View File

@ -36,14 +36,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
SegmentSingleProcessor();
@ -51,13 +51,6 @@ private:
protected:
const SegmentSingleLookupTable *segmentSingleLookupTable;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -15,7 +15,7 @@
U_NAMESPACE_BEGIN
const char SimpleArrayProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleArrayProcessor)
SimpleArrayProcessor::SimpleArrayProcessor()
{

View File

@ -36,14 +36,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
SimpleArrayProcessor();
@ -51,13 +51,6 @@ private:
protected:
const SimpleArrayLookupTable *simpleArrayLookupTable;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -15,7 +15,7 @@
U_NAMESPACE_BEGIN
const char SingleTableProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SingleTableProcessor)
SingleTableProcessor::SingleTableProcessor()
{

View File

@ -36,14 +36,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
SingleTableProcessor();
@ -51,13 +51,6 @@ private:
protected:
const SingleTableLookupTable *singleTableLookupTable;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -15,7 +15,7 @@
U_NAMESPACE_BEGIN
const char ThaiLayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ThaiLayoutEngine)
ThaiLayoutEngine::ThaiLayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode)
: LayoutEngine(fontInstance, scriptCode, languageCode)

View File

@ -57,14 +57,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
protected:
/**
@ -114,13 +114,6 @@ protected:
virtual le_int32 computeGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
LEGlyphStorage &glyphStorage, LEErrorCode &success);
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -15,7 +15,7 @@
U_NAMESPACE_BEGIN
const char TrimmedArrayProcessor::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(TrimmedArrayProcessor)
TrimmedArrayProcessor::TrimmedArrayProcessor()
{

View File

@ -36,14 +36,14 @@ public:
*
* @stable ICU 2.8
*/
virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @stable ICU 2.8
*/
static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
static UClassID getStaticClassID();
private:
TrimmedArrayProcessor();
@ -53,13 +53,6 @@ protected:
TTGlyphID lastGlyph;
const TrimmedArrayLookupTable *trimmedArrayLookupTable;
private:
/**
* The address of this static class variable serves as this class's ID
* for ICU "poor man's RTTI".
*/
static const char fgClassID;
};
U_NAMESPACE_END

View File

@ -14,5 +14,5 @@
*/
#ifndef U_HIDE_OBSOLETE_API
const char ICULayoutEngine::fgClassID=0;
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ICULayoutEngine)
#endif