summaryrefslogtreecommitdiff
path: root/xsd/xsd/cxx/parser/options.hxx
blob: 03b67fdd90a4be845568cb0a0acdbde71ecbeab0 (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
// -*- C++ -*-
//
// This file was generated by CLI, a command line interface
// compiler for C++.
//

#ifndef XSD_CXX_PARSER_OPTIONS_HXX
#define XSD_CXX_PARSER_OPTIONS_HXX

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

#include <cstddef>

#include <xsd/types.hxx>

#include <xsd/cxx/options.hxx>

namespace CXX
{
  namespace Parser
  {
    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 NarrowStrings&
      type_map () const;

      bool
      type_map_specified () const;

      const NarrowString&
      xml_parser () const;

      bool
      xml_parser_specified () const;

      const bool&
      generate_validation () const;

      const bool&
      suppress_validation () const;

      const bool&
      generate_polymorphic () const;

      const bool&
      generate_noop_impl () const;

      const bool&
      generate_print_impl () const;

      const bool&
      generate_test_driver () const;

      const bool&
      force_overwrite () const;

      const bool&
      root_element_first () const;

      const bool&
      root_element_last () const;

      const NarrowString&
      root_element () const;

      bool
      root_element_specified () const;

      const NarrowString&
      skel_type_suffix () const;

      bool
      skel_type_suffix_specified () const;

      const NarrowString&
      skel_file_suffix () const;

      bool
      skel_file_suffix_specified () const;

      const NarrowString&
      impl_type_suffix () const;

      bool
      impl_type_suffix_specified () const;

      const NarrowString&
      impl_file_suffix () const;

      bool
      impl_file_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:
      NarrowStrings type_map_;
      bool type_map_specified_;
      NarrowString xml_parser_;
      bool xml_parser_specified_;
      bool generate_validation_;
      bool suppress_validation_;
      bool generate_polymorphic_;
      bool generate_noop_impl_;
      bool generate_print_impl_;
      bool generate_test_driver_;
      bool force_overwrite_;
      bool root_element_first_;
      bool root_element_last_;
      NarrowString root_element_;
      bool root_element_specified_;
      NarrowString skel_type_suffix_;
      bool skel_type_suffix_specified_;
      NarrowString skel_file_suffix_;
      bool skel_file_suffix_specified_;
      NarrowString impl_type_suffix_;
      bool impl_type_suffix_specified_;
      NarrowString impl_file_suffix_;
      bool impl_file_suffix_specified_;
    };
  }
}

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

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

#endif // XSD_CXX_PARSER_OPTIONS_HXX