IWORKTokenInfo.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3 * This file is part of the libetonyek project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10 #ifndef IWORKTOKENINFO_H_INCLUDED
11 #define IWORKTOKENINFO_H_INCLUDED
12
13 namespace libetonyek
14 {
15
16 template<class Parser>
17 struct IWORKTokenInfo
18 {
19 };
20
21 class IWORKParser;
22 class KEY1Parser;
23 class KEY2Parser;
24 class NUM1Parser;
25 class PAG1Parser;
26
27 template<>
28 struct IWORKTokenInfo<IWORKParser>
29 {
30 static const int first = 1;
31 static const int last = first + 1000;
32 };
33
34 template<>
35 struct IWORKTokenInfo<KEY1Parser>
36 {
37 static const int first = IWORKTokenInfo<IWORKParser>::last + 1;
38 static const int last = first + 1000;
39 };
40
41 template<>
42 struct IWORKTokenInfo<KEY2Parser>
43 {
44 static const int first = IWORKTokenInfo<KEY1Parser>::last + 1;
45 static const int last = first + 1000;
46 };
47
48 template<>
49 struct IWORKTokenInfo<NUM1Parser>
50 {
51 static const int first = IWORKTokenInfo<KEY2Parser>::last + 1;
52 static const int last = first + 1000;
53 };
54
55 template<>
56 struct IWORKTokenInfo<PAG1Parser>
57 {
58 static const int first = IWORKTokenInfo<NUM1Parser>::last + 1;
59 static const int last = first + 1000;
60 };
61
62 }
63
64 #endif // IWORKTOKENINFO_H_INCLUDED
65
66 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek
Definition: IWORKBezierElement.cpp:20
libetonyek::IWORKParser
Definition: IWORKParser.h:23
libetonyek::KEY1Parser
Definition: KEY1Parser.h:23
libetonyek::IWORKTokenInfo
Definition: IWORKTokenInfo.h:17
libetonyek::PAG1Parser
Definition: PAG1Parser.h:22
libetonyek::IWORKToken::first
Definition: IWORKToken.h:524
libetonyek::NUM1Parser
Definition: NUM1Parser.h:22
libetonyek::KEY2Parser
Definition: KEY2Parser.h:22