SimpleArrayProcessor2.h revision c73f511526464f8e56c242df80552e9b0d94ae3d
1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef __SIMPLEARRAYPROCESSOR2_H 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define __SIMPLEARRAYPROCESSOR2_H 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * \file 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * \internal 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "LETypes.h" 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "MorphTables.h" 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "SubtableProcessor2.h" 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "NonContextualGlyphSubst.h" 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "NonContextualGlyphSubstProc2.h" 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovU_NAMESPACE_BEGIN 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass LEGlyphStorage; 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass SimpleArrayProcessor2 : public NonContextualGlyphSubstitutionProcessor2 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual void process(LEGlyphStorage &glyphStorage, LEErrorCode &success); 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SimpleArrayProcessor2(const LEReferenceTo<MorphSubtableHeader2> &morphSubtableHeader, LEErrorCode &success); 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~SimpleArrayProcessor2(); 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * ICU "poor man's RTTI", returns a UClassID for the actual class. 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @stable ICU 2.8 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual UClassID getDynamicClassID() const; 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * ICU "poor man's RTTI", returns a UClassID for this class. 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @stable ICU 2.8 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static UClassID getStaticClassID(); 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate: 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SimpleArrayProcessor2(); 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov LEReferenceTo<SimpleArrayLookupTable> simpleArrayLookupTable; 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov LEReferenceToArrayOf<LookupValue> valueArray; 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovU_NAMESPACE_END 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov