1divert(-1)
2
3# file      : xsd-frontend/semantic-graph/fundamental.hxx.m4
4# copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
5# license   : GNU GPL v2 + exceptions; see accompanying LICENSE file
6
7include(`fundamental.m4')
8
9define(`fundamental_type', `fundamental_type_impl(`make_class_name(`$1')', `$1')')
10
11define(`fundamental_type_impl', `
12
13      //
14      //
15      class $1: public virtual Type
16      {
17      public:
18        $1 (Path const& file,
19            unsigned long line,
20            unsigned long column);
21      };')
22divert(0)dnl
23dnl
24dnl
25dnl
26// file      : xsd-frontend/semantic-graph/fundamental.hxx
27// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
28// license   : GNU GPL v2 + exceptions; see accompanying LICENSE file
29
30// Note, that this file is automatically generated!
31//
32
33#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
34#define XSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
35
36#include <xsd-frontend/semantic-graph/elements.hxx>
37
38namespace XSDFrontend
39{
40  namespace SemanticGraph
41  {
42    namespace Fundamental
43    {
44      //
45      //
46      class Type: public virtual SemanticGraph::Type
47      {
48      protected:
49        Type ();
50      };
51dnl
52dnl Integers.
53dnl
54fundamental_type(`byte')
55fundamental_type(`unsigned byte')
56fundamental_type(`short')
57fundamental_type(`unsigned short')
58fundamental_type(`int')
59fundamental_type(`unsigned int')
60fundamental_type(`long')
61fundamental_type(`unsigned long')
62fundamental_type(`integer')
63fundamental_type(`non positive integer')
64fundamental_type(`non negative integer')
65fundamental_type(`positive integer')
66fundamental_type(`negative integer')
67dnl
68dnl Boolean.
69dnl
70fundamental_type(`boolean')
71dnl
72dnl Floats.
73dnl
74fundamental_type(`float')
75fundamental_type(`double')
76fundamental_type(`decimal')
77dnl
78dnl Strings.
79dnl
80fundamental_type(`string')
81fundamental_type(`normalized string')
82fundamental_type(`token')
83fundamental_type(`name')
84fundamental_type(`name token')
85fundamental_type(`name tokens')
86fundamental_type(`NC name')
87fundamental_type(`language')
88dnl
89dnl Qualified name.
90dnl
91fundamental_type(`q name')
92dnl
93dnl ID/IDREF.
94dnl
95fundamental_type(`id')
96
97
98      //
99      //
100      class IdRef: public virtual Type,
101                   public virtual Specialization
102      {
103      public:
104        IdRef (Path const& file,
105               unsigned long line,
106               unsigned long column);
107      };
108
109
110      //
111      //
112      class IdRefs: public virtual Type,
113                    public virtual Specialization
114      {
115      public:
116        IdRefs (Path const& file,
117                unsigned long line,
118                unsigned long column);
119      };
120dnl
121dnl URI.
122dnl
123fundamental_type(`any URI')
124dnl
125dnl Binary.
126dnl
127fundamental_type(`base 64 binary')
128fundamental_type(`hex binary')
129dnl
130dnl Date/time.
131dnl
132fundamental_type(`date')
133fundamental_type(`date time')
134fundamental_type(`duration')
135fundamental_type(`day')
136fundamental_type(`month')
137fundamental_type(`month day')
138fundamental_type(`year')
139fundamental_type(`year month')
140fundamental_type(`time')
141dnl
142dnl Entity.
143dnl
144fundamental_type(`entity')
145fundamental_type(`entities')
146dnl
147dnl Notation.
148dnl
149fundamental_type(`notation')
150dnl
151    }
152  }
153}
154
155#endif  // XSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
156