source: icGREP/icgrep-devel/icgrep/cc/multiplex_CCs.h @ 5799

Last change on this file since 5799 was 5799, checked in by cameron, 13 months ago

sourceAlphabet and transformCC

File size: 846 bytes
Line 
1/*
2 *  Copyright (c) 2017 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef MULTIPLEX_CCS_H
6#define MULTIPLEX_CCS_H
7
8#include <vector>
9#include <cc/alphabet.h>
10
11namespace re { class CC; }
12
13namespace cc {
14
15class MultiplexedAlphabet : public Alphabet {
16public:
17    MultiplexedAlphabet(std::string alphabetName, const std::vector<const re::CC *> CCs);
18   
19    const Alphabet * getSourceAlphabet();
20   
21    std::vector<std::vector<unsigned>> getExclusiveSetIDs();
22   
23    std::vector<re::CC *> getMultiplexedCCs();
24   
25    re::CC * transformCC(re::CC * sourceCC);
26private:
27    const Alphabet * mSourceAlphabet;
28    const std::vector<const re::CC *> mUnicodeSets;
29    std::vector<std::vector<unsigned>> mExclusiveSetIDs;
30    std::vector<re::CC *> mMultiplexedCCs;
31};
32}
33
34
35#endif
Note: See TracBrowser for help on using the repository browser.