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