summaryrefslogtreecommitdiff
path: root/xsd/xsd/cxx/tree/options.hxx
blob: f5a808c57700271fde79e7ffe8a0bc956200e075 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
// -*- C++ -*-
//
// This file was generated by CLI, a command line interface
// compiler for C++.
//

#ifndef XSD_CXX_TREE_OPTIONS_HXX
#define XSD_CXX_TREE_OPTIONS_HXX

// Begin prologue.
//
//
// End prologue.

#include <cstddef>

#include <xsd/types.hxx>

#include <xsd/cxx/options.hxx>

namespace CXX
{
  namespace Tree
  {
    class options: public ::CXX::options
    {
      public:
      options ();

      options (int& argc,
               char** argv,
               bool erase = false,
               ::cli::unknown_mode option = ::cli::unknown_mode::fail,
               ::cli::unknown_mode argument = ::cli::unknown_mode::stop);

      options (int start,
               int& argc,
               char** argv,
               bool erase = false,
               ::cli::unknown_mode option = ::cli::unknown_mode::fail,
               ::cli::unknown_mode argument = ::cli::unknown_mode::stop);

      options (int& argc,
               char** argv,
               int& end,
               bool erase = false,
               ::cli::unknown_mode option = ::cli::unknown_mode::fail,
               ::cli::unknown_mode argument = ::cli::unknown_mode::stop);

      options (int start,
               int& argc,
               char** argv,
               int& end,
               bool erase = false,
               ::cli::unknown_mode option = ::cli::unknown_mode::fail,
               ::cli::unknown_mode argument = ::cli::unknown_mode::stop);

      options (::cli::scanner&,
               ::cli::unknown_mode option = ::cli::unknown_mode::fail,
               ::cli::unknown_mode argument = ::cli::unknown_mode::stop);

      // Option accessors.
      //
      const bool&
      generate_polymorphic () const;

      const NarrowStrings&
      polymorphic_type () const;

      bool
      polymorphic_type_specified () const;

      const bool&
      polymorphic_type_all () const;

      const unsigned long&
      polymorphic_plate () const;

      bool
      polymorphic_plate_specified () const;

      const NarrowStrings&
      ordered_type () const;

      bool
      ordered_type_specified () const;

      const bool&
      ordered_type_derived () const;

      const bool&
      ordered_type_mixed () const;

      const bool&
      ordered_type_all () const;

      const NarrowString&
      order_container () const;

      bool
      order_container_specified () const;

      const bool&
      generate_serialization () const;

      const bool&
      generate_ostream () const;

      const bool&
      generate_doxygen () const;

      const bool&
      generate_comparison () const;

      const bool&
      generate_default_ctor () const;

      const bool&
      generate_from_base_ctor () const;

      const bool&
      suppress_assignment () const;

      const bool&
      generate_detach () const;

      const bool&
      generate_wildcard () const;

      const bool&
      generate_any_type () const;

      const NarrowStrings&
      generate_insertion () const;

      bool
      generate_insertion_specified () const;

      const NarrowStrings&
      generate_extraction () const;

      bool
      generate_extraction_specified () const;

      const bool&
      generate_forward () const;

      const bool&
      suppress_parsing () const;

      const bool&
      generate_element_type () const;

      const bool&
      generate_element_map () const;

      const bool&
      generate_intellisense () const;

      const bool&
      omit_default_attributes () const;

      const NarrowString&
      type_naming () const;

      bool
      type_naming_specified () const;

      const NarrowString&
      function_naming () const;

      bool
      function_naming_specified () const;

      const NarrowStrings&
      type_regex () const;

      bool
      type_regex_specified () const;

      const NarrowStrings&
      accessor_regex () const;

      bool
      accessor_regex_specified () const;

      const NarrowStrings&
      one_accessor_regex () const;

      bool
      one_accessor_regex_specified () const;

      const NarrowStrings&
      opt_accessor_regex () const;

      bool
      opt_accessor_regex_specified () const;

      const NarrowStrings&
      seq_accessor_regex () const;

      bool
      seq_accessor_regex_specified () const;

      const NarrowStrings&
      modifier_regex () const;

      bool
      modifier_regex_specified () const;

      const NarrowStrings&
      one_modifier_regex () const;

      bool
      one_modifier_regex_specified () const;

      const NarrowStrings&
      opt_modifier_regex () const;

      bool
      opt_modifier_regex_specified () const;

      const NarrowStrings&
      seq_modifier_regex () const;

      bool
      seq_modifier_regex_specified () const;

      const NarrowStrings&
      parser_regex () const;

      bool
      parser_regex_specified () const;

      const NarrowStrings&
      serializer_regex () const;

      bool
      serializer_regex_specified () const;

      const NarrowStrings&
      const_regex () const;

      bool
      const_regex_specified () const;

      const NarrowStrings&
      enumerator_regex () const;

      bool
      enumerator_regex_specified () const;

      const NarrowStrings&
      element_type_regex () const;

      bool
      element_type_regex_specified () const;

      const bool&
      name_regex_trace () const;

      const bool&
      root_element_first () const;

      const bool&
      root_element_last () const;

      const bool&
      root_element_all () const;

      const bool&
      root_element_none () const;

      const NarrowStrings&
      root_element () const;

      bool
      root_element_specified () const;

      const NarrowStrings&
      custom_type () const;

      bool
      custom_type_specified () const;

      const NarrowStrings&
      custom_type_regex () const;

      bool
      custom_type_regex_specified () const;

      const std::size_t&
      parts () const;

      bool
      parts_specified () const;

      const NarrowString&
      parts_suffix () const;

      bool
      parts_suffix_specified () const;

      // Print usage information.
      //
      static ::cli::usage_para
      print_usage (::std::wostream&,
                   ::cli::usage_para = ::cli::usage_para::none);

      // Implementation details.
      //
      protected:
      bool
      _parse (const char*, ::cli::scanner&);

      private:
      bool
      _parse (::cli::scanner&,
              ::cli::unknown_mode option,
              ::cli::unknown_mode argument);

      public:
      bool generate_polymorphic_;
      NarrowStrings polymorphic_type_;
      bool polymorphic_type_specified_;
      bool polymorphic_type_all_;
      unsigned long polymorphic_plate_;
      bool polymorphic_plate_specified_;
      NarrowStrings ordered_type_;
      bool ordered_type_specified_;
      bool ordered_type_derived_;
      bool ordered_type_mixed_;
      bool ordered_type_all_;
      NarrowString order_container_;
      bool order_container_specified_;
      bool generate_serialization_;
      bool generate_ostream_;
      bool generate_doxygen_;
      bool generate_comparison_;
      bool generate_default_ctor_;
      bool generate_from_base_ctor_;
      bool suppress_assignment_;
      bool generate_detach_;
      bool generate_wildcard_;
      bool generate_any_type_;
      NarrowStrings generate_insertion_;
      bool generate_insertion_specified_;
      NarrowStrings generate_extraction_;
      bool generate_extraction_specified_;
      bool generate_forward_;
      bool suppress_parsing_;
      bool generate_element_type_;
      bool generate_element_map_;
      bool generate_intellisense_;
      bool omit_default_attributes_;
      NarrowString type_naming_;
      bool type_naming_specified_;
      NarrowString function_naming_;
      bool function_naming_specified_;
      NarrowStrings type_regex_;
      bool type_regex_specified_;
      NarrowStrings accessor_regex_;
      bool accessor_regex_specified_;
      NarrowStrings one_accessor_regex_;
      bool one_accessor_regex_specified_;
      NarrowStrings opt_accessor_regex_;
      bool opt_accessor_regex_specified_;
      NarrowStrings seq_accessor_regex_;
      bool seq_accessor_regex_specified_;
      NarrowStrings modifier_regex_;
      bool modifier_regex_specified_;
      NarrowStrings one_modifier_regex_;
      bool one_modifier_regex_specified_;
      NarrowStrings opt_modifier_regex_;
      bool opt_modifier_regex_specified_;
      NarrowStrings seq_modifier_regex_;
      bool seq_modifier_regex_specified_;
      NarrowStrings parser_regex_;
      bool parser_regex_specified_;
      NarrowStrings serializer_regex_;
      bool serializer_regex_specified_;
      NarrowStrings const_regex_;
      bool const_regex_specified_;
      NarrowStrings enumerator_regex_;
      bool enumerator_regex_specified_;
      NarrowStrings element_type_regex_;
      bool element_type_regex_specified_;
      bool name_regex_trace_;
      bool root_element_first_;
      bool root_element_last_;
      bool root_element_all_;
      bool root_element_none_;
      NarrowStrings root_element_;
      bool root_element_specified_;
      NarrowStrings custom_type_;
      bool custom_type_specified_;
      NarrowStrings custom_type_regex_;
      bool custom_type_regex_specified_;
      std::size_t parts_;
      bool parts_specified_;
      NarrowString parts_suffix_;
      bool parts_suffix_specified_;
    };
  }
}

#include <xsd/cxx/tree/options.ixx>

// Begin epilogue.
//
//
// End epilogue.

#endif // XSD_CXX_TREE_OPTIONS_HXX