summaryrefslogtreecommitdiff
path: root/xsd/pregenerated
diff options
context:
space:
mode:
Diffstat (limited to 'xsd/pregenerated')
-rw-r--r--xsd/pregenerated/xsd/cxx/options.cxx739
-rw-r--r--xsd/pregenerated/xsd/cxx/options.hxx451
-rw-r--r--xsd/pregenerated/xsd/cxx/options.ixx615
-rw-r--r--xsd/pregenerated/xsd/cxx/parser/options.cxx776
-rw-r--r--xsd/pregenerated/xsd/cxx/parser/options.hxx186
-rw-r--r--xsd/pregenerated/xsd/cxx/parser/options.ixx162
-rw-r--r--xsd/pregenerated/xsd/cxx/tree/options.cxx1343
-rw-r--r--xsd/pregenerated/xsd/cxx/tree/options.hxx414
-rw-r--r--xsd/pregenerated/xsd/cxx/tree/options.ixx504
-rw-r--r--xsd/pregenerated/xsd/options.cxx1297
-rw-r--r--xsd/pregenerated/xsd/options.hxx702
-rw-r--r--xsd/pregenerated/xsd/options.ixx555
12 files changed, 0 insertions, 7744 deletions
diff --git a/xsd/pregenerated/xsd/cxx/options.cxx b/xsd/pregenerated/xsd/cxx/options.cxx
deleted file mode 100644
index 9eea3a9..0000000
--- a/xsd/pregenerated/xsd/cxx/options.cxx
+++ /dev/null
@@ -1,739 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-#include <xsd/options-parser.hxx>
-//
-// End prologue.
-
-#include <xsd/cxx/options.hxx>
-
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-#include <utility>
-#include <ostream>
-#include <sstream>
-#include <cstring>
-
-namespace cli
-{
- template <typename X>
- struct parser
- {
- static void
- parse (X& x, bool& xs, scanner& s)
- {
- using namespace std;
-
- const char* o (s.next ());
- if (s.more ())
- {
- string v (s.next ());
- istringstream is (v);
- if (!(is >> x && is.peek () == istringstream::traits_type::eof ()))
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<bool>
- {
- static void
- parse (bool& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- const char* v (s.next ());
-
- if (std::strcmp (v, "1") == 0 ||
- std::strcmp (v, "true") == 0 ||
- std::strcmp (v, "TRUE") == 0 ||
- std::strcmp (v, "True") == 0)
- x = true;
- else if (std::strcmp (v, "0") == 0 ||
- std::strcmp (v, "false") == 0 ||
- std::strcmp (v, "FALSE") == 0 ||
- std::strcmp (v, "False") == 0)
- x = false;
- else
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<std::string>
- {
- static void
- parse (std::string& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- x = s.next ();
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X>
- struct parser<std::pair<X, std::size_t> >
- {
- static void
- parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s)
- {
- x.second = s.position ();
- parser<X>::parse (x.first, xs, s);
- }
- };
-
- template <typename X>
- struct parser<std::vector<X> >
- {
- static void
- parse (std::vector<X>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.push_back (x);
- xs = true;
- }
- };
-
- template <typename X, typename C>
- struct parser<std::set<X, C> >
- {
- static void
- parse (std::set<X, C>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.insert (x);
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::map<K, V, C> >
- {
- static void
- parse (std::map<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m[k] = v;
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::multimap<K, V, C> >
- {
- static void
- parse (std::multimap<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m.insert (typename std::multimap<K, V, C>::value_type (k, v));
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X, typename T, T X::*M>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, s);
- }
-
- template <typename X, bool X::*M>
- void
- thunk (X& x, scanner& s)
- {
- s.next ();
- x.*M = true;
- }
-
- template <typename X, typename T, T X::*M, bool X::*S>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, x.*S, s);
- }
-}
-
-#include <map>
-
-namespace CXX
-{
- // options
- //
-
- options::
- options ()
- : std_ (cxx_version::cxx11),
- std_specified_ (false),
- char_type_ ("char"),
- char_type_specified_ (false),
- char_encoding_ (),
- char_encoding_specified_ (false),
- output_dir_ (),
- output_dir_specified_ (false),
- generate_inline_ (),
- generate_xml_schema_ (),
- extern_xml_schema_ (),
- extern_xml_schema_specified_ (false),
- namespace_map_ (),
- namespace_map_specified_ (false),
- namespace_regex_ (),
- namespace_regex_specified_ (false),
- namespace_regex_trace_ (),
- reserved_name_ (),
- reserved_name_specified_ (false),
- include_with_brackets_ (),
- include_prefix_ (),
- include_prefix_specified_ (false),
- include_regex_ (),
- include_regex_specified_ (false),
- include_regex_trace_ (),
- guard_prefix_ (),
- guard_prefix_specified_ (false),
- hxx_suffix_ (".hxx"),
- hxx_suffix_specified_ (false),
- ixx_suffix_ (".ixx"),
- ixx_suffix_specified_ (false),
- cxx_suffix_ (".cxx"),
- cxx_suffix_specified_ (false),
- fwd_suffix_ ("-fwd.hxx"),
- fwd_suffix_specified_ (false),
- hxx_regex_ (),
- hxx_regex_specified_ (false),
- ixx_regex_ (),
- ixx_regex_specified_ (false),
- cxx_regex_ (),
- cxx_regex_specified_ (false),
- fwd_regex_ (),
- fwd_regex_specified_ (false),
- hxx_prologue_ (),
- hxx_prologue_specified_ (false),
- ixx_prologue_ (),
- ixx_prologue_specified_ (false),
- cxx_prologue_ (),
- cxx_prologue_specified_ (false),
- fwd_prologue_ (),
- fwd_prologue_specified_ (false),
- prologue_ (),
- prologue_specified_ (false),
- hxx_epilogue_ (),
- hxx_epilogue_specified_ (false),
- ixx_epilogue_ (),
- ixx_epilogue_specified_ (false),
- cxx_epilogue_ (),
- cxx_epilogue_specified_ (false),
- fwd_epilogue_ (),
- fwd_epilogue_specified_ (false),
- epilogue_ (),
- epilogue_specified_ (false),
- hxx_prologue_file_ (),
- hxx_prologue_file_specified_ (false),
- ixx_prologue_file_ (),
- ixx_prologue_file_specified_ (false),
- cxx_prologue_file_ (),
- cxx_prologue_file_specified_ (false),
- fwd_prologue_file_ (),
- fwd_prologue_file_specified_ (false),
- prologue_file_ (),
- prologue_file_specified_ (false),
- hxx_epilogue_file_ (),
- hxx_epilogue_file_specified_ (false),
- ixx_epilogue_file_ (),
- ixx_epilogue_file_specified_ (false),
- cxx_epilogue_file_ (),
- cxx_epilogue_file_specified_ (false),
- fwd_epilogue_file_ (),
- fwd_epilogue_file_specified_ (false),
- epilogue_file_ (),
- epilogue_file_specified_ (false),
- export_symbol_ (),
- export_symbol_specified_ (false),
- export_xml_schema_ (),
- export_maps_ (),
- import_maps_ (),
- generate_dep_ (),
- generate_dep_only_ (),
- dep_phony_ (),
- dep_target_ (),
- dep_target_specified_ (false),
- dep_suffix_ (".d"),
- dep_suffix_specified_ (false),
- dep_file_ (),
- dep_file_specified_ (false),
- dep_regex_ (),
- dep_regex_specified_ (false)
- {
- }
-
- ::cli::usage_para options::
- print_usage (::std::wostream& os, ::cli::usage_para p)
- {
- CLI_POTENTIALLY_UNUSED (os);
-
- if (p == ::cli::usage_para::text)
- os << ::std::endl;
-
- os << "--std <version> Specify the C++ standard that the generated code" << ::std::endl
- << " should conform to." << ::std::endl;
-
- os << "--char-type <type> Generate code using the provided character <type>" << ::std::endl
- << " instead of the default char." << ::std::endl;
-
- os << "--char-encoding <enc> Specify the character encoding that should be used" << ::std::endl
- << " in the generated code." << ::std::endl;
-
- os << "--output-dir <dir> Write generated files to <dir> instead of the" << ::std::endl
- << " current directory." << ::std::endl;
-
- os << "--generate-inline Generate simple functions inline." << ::std::endl;
-
- os << "--generate-xml-schema Generate a C++ header file as if the schema being" << ::std::endl
- << " compiled defines the XML Schema namespace." << ::std::endl;
-
- os << "--extern-xml-schema <file> Include a header file derived from <file> instead" << ::std::endl
- << " of generating the XML Schema namespace mapping" << ::std::endl
- << " inline." << ::std::endl;
-
- os << "--namespace-map <xns>=<cns> Map XML Schema namespace <xns> to C++ namespace" << ::std::endl
- << " <cns>." << ::std::endl;
-
- os << "--namespace-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema namespace names to" << ::std::endl
- << " C++ namespace names." << ::std::endl;
-
- os << "--namespace-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the --namespace-regex option." << ::std::endl;
-
- os << "--reserved-name <n>[=<r>] Add name <n> to the list of names that should not" << ::std::endl
- << " be used as identifiers." << ::std::endl;
-
- os << "--include-with-brackets Use angle brackets (<>) instead of quotes (\"\") in" << ::std::endl
- << " generated #include directives." << ::std::endl;
-
- os << "--include-prefix <prefix> Add <prefix> to generated #include directive" << ::std::endl
- << " paths." << ::std::endl;
-
- os << "--include-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to transform #include directive paths." << ::std::endl;
-
- os << "--include-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the --include-regex option." << ::std::endl;
-
- os << "--guard-prefix <prefix> Add <prefix> to generated header inclusion guards." << ::std::endl;
-
- os << "--hxx-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " .hxx to construct the name of the header file." << ::std::endl;
-
- os << "--ixx-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " .ixx to construct the name of the inline file." << ::std::endl;
-
- os << "--cxx-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " .cxx to construct the name of the source file." << ::std::endl;
-
- os << "--fwd-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " -fwd.hxx to construct the name of the forward" << ::std::endl
- << " declaration file." << ::std::endl;
-
- os << "--hxx-regex <regex> Use the provided expression to construct the name" << ::std::endl
- << " of the header file." << ::std::endl;
-
- os << "--ixx-regex <regex> Use the provided expression to construct the name" << ::std::endl
- << " of the inline file." << ::std::endl;
-
- os << "--cxx-regex <regex> Use the provided expression to construct the name" << ::std::endl
- << " of the source file." << ::std::endl;
-
- os << "--fwd-regex <regex> Use the provided expression to construct the name" << ::std::endl
- << " of the forward declaration file." << ::std::endl;
-
- os << "--hxx-prologue <text> Insert <text> at the beginning of the header file." << ::std::endl;
-
- os << "--ixx-prologue <text> Insert <text> at the beginning of the inline file." << ::std::endl;
-
- os << "--cxx-prologue <text> Insert <text> at the beginning of the source file." << ::std::endl;
-
- os << "--fwd-prologue <text> Insert <text> at the beginning of the forward" << ::std::endl
- << " declaration file." << ::std::endl;
-
- os << "--prologue <text> Insert <text> at the beginning of each generated" << ::std::endl
- << " file for which there is no file-specific prologue." << ::std::endl;
-
- os << "--hxx-epilogue <text> Insert <text> at the end of the header file." << ::std::endl;
-
- os << "--ixx-epilogue <text> Insert <text> at the end of the inline file." << ::std::endl;
-
- os << "--cxx-epilogue <text> Insert <text> at the end of the source file." << ::std::endl;
-
- os << "--fwd-epilogue <text> Insert <text> at the end of the forward" << ::std::endl
- << " declaration file." << ::std::endl;
-
- os << "--epilogue <text> Insert <text> at the end of each generated file" << ::std::endl
- << " for which there is no file-specific epilogue." << ::std::endl;
-
- os << "--hxx-prologue-file <file> Insert the content of the <file> at the beginning" << ::std::endl
- << " of the header file." << ::std::endl;
-
- os << "--ixx-prologue-file <file> Insert the content of the <file> at the beginning" << ::std::endl
- << " of the inline file." << ::std::endl;
-
- os << "--cxx-prologue-file <file> Insert the content of the <file> at the beginning" << ::std::endl
- << " of the source file." << ::std::endl;
-
- os << "--fwd-prologue-file <file> Insert the content of the <file> at the beginning" << ::std::endl
- << " of the forward declaration file." << ::std::endl;
-
- os << "--prologue-file <file> Insert the content of the <file> at the beginning" << ::std::endl
- << " of each generated file for which there is no" << ::std::endl
- << " file-specific prologue file." << ::std::endl;
-
- os << "--hxx-epilogue-file <file> Insert the content of the <file> at the end of the" << ::std::endl
- << " header file." << ::std::endl;
-
- os << "--ixx-epilogue-file <file> Insert the content of the <file> at the end of the" << ::std::endl
- << " inline file." << ::std::endl;
-
- os << "--cxx-epilogue-file <file> Insert the content of the <file> at the end of the" << ::std::endl
- << " source file." << ::std::endl;
-
- os << "--fwd-epilogue-file <file> Insert the content of the <file> at the end of the" << ::std::endl
- << " forward declaration file." << ::std::endl;
-
- os << "--epilogue-file <file> Insert the content of the <file> at the end of" << ::std::endl
- << " each generated file for which there is no" << ::std::endl
- << " file-specific epilogue file." << ::std::endl;
-
- os << "--export-symbol <symbol> Insert <symbol> in places where DLL export/import" << ::std::endl
- << " control statements" << ::std::endl
- << " (__declspec(dllexport/dllimport)) are necessary." << ::std::endl;
-
- os << "--export-xml-schema Export/import types in the XML Schema namespace" << ::std::endl
- << " using the export symbol provided with the" << ::std::endl
- << " --export-symbol option." << ::std::endl;
-
- os << "--export-maps Export polymorphism support maps from a Win32 DLL" << ::std::endl
- << " into which this generated code is placed." << ::std::endl;
-
- os << "--import-maps Import polymorphism support maps to a Win32 DLL or" << ::std::endl
- << " executable into which this generated code is" << ::std::endl
- << " linked." << ::std::endl;
-
- os << "--generate-dep Generate make dependency information." << ::std::endl;
-
- os << "--generate-dep-only Generate make dependency information only." << ::std::endl;
-
- os << "--dep-phony Generate phony targets for included/imported" << ::std::endl
- << " schema files, causing each to depend on nothing." << ::std::endl;
-
- os << "--dep-target <target> Change the target of the dependency rule." << ::std::endl;
-
- os << "--dep-suffix <suffix> Use <suffix> instead of the default .d to" << ::std::endl
- << " construct the name of the dependency file." << ::std::endl;
-
- os << "--dep-file <path> Use <path> as the generated dependency file path" << ::std::endl
- << " instead of deriving it from the input file name." << ::std::endl;
-
- os << "--dep-regex <regex> Use the provided expression to construct the name" << ::std::endl
- << " of the dependency file." << ::std::endl;
-
- p = ::cli::usage_para::option;
-
- return p;
- }
-
- typedef
- std::map<std::string, void (*) (options&, ::cli::scanner&)>
- _cli_options_map;
-
- static _cli_options_map _cli_options_map_;
-
- struct _cli_options_map_init
- {
- _cli_options_map_init ()
- {
- _cli_options_map_["--std"] =
- &::cli::thunk< options, cxx_version, &options::std_,
- &options::std_specified_ >;
- _cli_options_map_["--char-type"] =
- &::cli::thunk< options, NarrowString, &options::char_type_,
- &options::char_type_specified_ >;
- _cli_options_map_["--char-encoding"] =
- &::cli::thunk< options, NarrowString, &options::char_encoding_,
- &options::char_encoding_specified_ >;
- _cli_options_map_["--output-dir"] =
- &::cli::thunk< options, NarrowString, &options::output_dir_,
- &options::output_dir_specified_ >;
- _cli_options_map_["--generate-inline"] =
- &::cli::thunk< options, &options::generate_inline_ >;
- _cli_options_map_["--generate-xml-schema"] =
- &::cli::thunk< options, &options::generate_xml_schema_ >;
- _cli_options_map_["--extern-xml-schema"] =
- &::cli::thunk< options, NarrowString, &options::extern_xml_schema_,
- &options::extern_xml_schema_specified_ >;
- _cli_options_map_["--namespace-map"] =
- &::cli::thunk< options, NarrowStrings, &options::namespace_map_,
- &options::namespace_map_specified_ >;
- _cli_options_map_["--namespace-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::namespace_regex_,
- &options::namespace_regex_specified_ >;
- _cli_options_map_["--namespace-regex-trace"] =
- &::cli::thunk< options, &options::namespace_regex_trace_ >;
- _cli_options_map_["--reserved-name"] =
- &::cli::thunk< options, NarrowStrings, &options::reserved_name_,
- &options::reserved_name_specified_ >;
- _cli_options_map_["--include-with-brackets"] =
- &::cli::thunk< options, &options::include_with_brackets_ >;
- _cli_options_map_["--include-prefix"] =
- &::cli::thunk< options, NarrowString, &options::include_prefix_,
- &options::include_prefix_specified_ >;
- _cli_options_map_["--include-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::include_regex_,
- &options::include_regex_specified_ >;
- _cli_options_map_["--include-regex-trace"] =
- &::cli::thunk< options, &options::include_regex_trace_ >;
- _cli_options_map_["--guard-prefix"] =
- &::cli::thunk< options, NarrowString, &options::guard_prefix_,
- &options::guard_prefix_specified_ >;
- _cli_options_map_["--hxx-suffix"] =
- &::cli::thunk< options, NarrowString, &options::hxx_suffix_,
- &options::hxx_suffix_specified_ >;
- _cli_options_map_["--ixx-suffix"] =
- &::cli::thunk< options, NarrowString, &options::ixx_suffix_,
- &options::ixx_suffix_specified_ >;
- _cli_options_map_["--cxx-suffix"] =
- &::cli::thunk< options, NarrowString, &options::cxx_suffix_,
- &options::cxx_suffix_specified_ >;
- _cli_options_map_["--fwd-suffix"] =
- &::cli::thunk< options, NarrowString, &options::fwd_suffix_,
- &options::fwd_suffix_specified_ >;
- _cli_options_map_["--hxx-regex"] =
- &::cli::thunk< options, NarrowString, &options::hxx_regex_,
- &options::hxx_regex_specified_ >;
- _cli_options_map_["--ixx-regex"] =
- &::cli::thunk< options, NarrowString, &options::ixx_regex_,
- &options::ixx_regex_specified_ >;
- _cli_options_map_["--cxx-regex"] =
- &::cli::thunk< options, NarrowString, &options::cxx_regex_,
- &options::cxx_regex_specified_ >;
- _cli_options_map_["--fwd-regex"] =
- &::cli::thunk< options, NarrowString, &options::fwd_regex_,
- &options::fwd_regex_specified_ >;
- _cli_options_map_["--hxx-prologue"] =
- &::cli::thunk< options, NarrowStrings, &options::hxx_prologue_,
- &options::hxx_prologue_specified_ >;
- _cli_options_map_["--ixx-prologue"] =
- &::cli::thunk< options, NarrowStrings, &options::ixx_prologue_,
- &options::ixx_prologue_specified_ >;
- _cli_options_map_["--cxx-prologue"] =
- &::cli::thunk< options, NarrowStrings, &options::cxx_prologue_,
- &options::cxx_prologue_specified_ >;
- _cli_options_map_["--fwd-prologue"] =
- &::cli::thunk< options, NarrowStrings, &options::fwd_prologue_,
- &options::fwd_prologue_specified_ >;
- _cli_options_map_["--prologue"] =
- &::cli::thunk< options, NarrowStrings, &options::prologue_,
- &options::prologue_specified_ >;
- _cli_options_map_["--hxx-epilogue"] =
- &::cli::thunk< options, NarrowStrings, &options::hxx_epilogue_,
- &options::hxx_epilogue_specified_ >;
- _cli_options_map_["--ixx-epilogue"] =
- &::cli::thunk< options, NarrowStrings, &options::ixx_epilogue_,
- &options::ixx_epilogue_specified_ >;
- _cli_options_map_["--cxx-epilogue"] =
- &::cli::thunk< options, NarrowStrings, &options::cxx_epilogue_,
- &options::cxx_epilogue_specified_ >;
- _cli_options_map_["--fwd-epilogue"] =
- &::cli::thunk< options, NarrowStrings, &options::fwd_epilogue_,
- &options::fwd_epilogue_specified_ >;
- _cli_options_map_["--epilogue"] =
- &::cli::thunk< options, NarrowStrings, &options::epilogue_,
- &options::epilogue_specified_ >;
- _cli_options_map_["--hxx-prologue-file"] =
- &::cli::thunk< options, NarrowString, &options::hxx_prologue_file_,
- &options::hxx_prologue_file_specified_ >;
- _cli_options_map_["--ixx-prologue-file"] =
- &::cli::thunk< options, NarrowString, &options::ixx_prologue_file_,
- &options::ixx_prologue_file_specified_ >;
- _cli_options_map_["--cxx-prologue-file"] =
- &::cli::thunk< options, NarrowString, &options::cxx_prologue_file_,
- &options::cxx_prologue_file_specified_ >;
- _cli_options_map_["--fwd-prologue-file"] =
- &::cli::thunk< options, NarrowString, &options::fwd_prologue_file_,
- &options::fwd_prologue_file_specified_ >;
- _cli_options_map_["--prologue-file"] =
- &::cli::thunk< options, NarrowString, &options::prologue_file_,
- &options::prologue_file_specified_ >;
- _cli_options_map_["--hxx-epilogue-file"] =
- &::cli::thunk< options, NarrowString, &options::hxx_epilogue_file_,
- &options::hxx_epilogue_file_specified_ >;
- _cli_options_map_["--ixx-epilogue-file"] =
- &::cli::thunk< options, NarrowString, &options::ixx_epilogue_file_,
- &options::ixx_epilogue_file_specified_ >;
- _cli_options_map_["--cxx-epilogue-file"] =
- &::cli::thunk< options, NarrowString, &options::cxx_epilogue_file_,
- &options::cxx_epilogue_file_specified_ >;
- _cli_options_map_["--fwd-epilogue-file"] =
- &::cli::thunk< options, NarrowString, &options::fwd_epilogue_file_,
- &options::fwd_epilogue_file_specified_ >;
- _cli_options_map_["--epilogue-file"] =
- &::cli::thunk< options, NarrowString, &options::epilogue_file_,
- &options::epilogue_file_specified_ >;
- _cli_options_map_["--export-symbol"] =
- &::cli::thunk< options, NarrowString, &options::export_symbol_,
- &options::export_symbol_specified_ >;
- _cli_options_map_["--export-xml-schema"] =
- &::cli::thunk< options, &options::export_xml_schema_ >;
- _cli_options_map_["--export-maps"] =
- &::cli::thunk< options, &options::export_maps_ >;
- _cli_options_map_["--import-maps"] =
- &::cli::thunk< options, &options::import_maps_ >;
- _cli_options_map_["--generate-dep"] =
- &::cli::thunk< options, &options::generate_dep_ >;
- _cli_options_map_["--generate-dep-only"] =
- &::cli::thunk< options, &options::generate_dep_only_ >;
- _cli_options_map_["--dep-phony"] =
- &::cli::thunk< options, &options::dep_phony_ >;
- _cli_options_map_["--dep-target"] =
- &::cli::thunk< options, NarrowStrings, &options::dep_target_,
- &options::dep_target_specified_ >;
- _cli_options_map_["--dep-suffix"] =
- &::cli::thunk< options, NarrowString, &options::dep_suffix_,
- &options::dep_suffix_specified_ >;
- _cli_options_map_["--dep-file"] =
- &::cli::thunk< options, NarrowString, &options::dep_file_,
- &options::dep_file_specified_ >;
- _cli_options_map_["--dep-regex"] =
- &::cli::thunk< options, NarrowString, &options::dep_regex_,
- &options::dep_regex_specified_ >;
- }
- };
-
- static _cli_options_map_init _cli_options_map_init_;
-
- bool options::
- _parse (const char* o, ::cli::scanner& s)
- {
- _cli_options_map::const_iterator i (_cli_options_map_.find (o));
-
- if (i != _cli_options_map_.end ())
- {
- (*(i->second)) (*this, s);
- return true;
- }
-
- // options base
- //
- if (::options::_parse (o, s))
- return true;
-
- return false;
- }
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
-
diff --git a/xsd/pregenerated/xsd/cxx/options.hxx b/xsd/pregenerated/xsd/cxx/options.hxx
deleted file mode 100644
index 085aa4c..0000000
--- a/xsd/pregenerated/xsd/cxx/options.hxx
+++ /dev/null
@@ -1,451 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-#ifndef XSD_CXX_OPTIONS_HXX
-#define XSD_CXX_OPTIONS_HXX
-
-// Begin prologue.
-//
-//
-// End prologue.
-
-#include <cstddef>
-
-#include <xsd/types.hxx>
-
-#include <xsd/cxx/option-types.hxx>
-
-#include <xsd/options.hxx>
-
-namespace CXX
-{
- class options: public ::options
- {
- public:
- // Option accessors.
- //
- const cxx_version&
- std () const;
-
- bool
- std_specified () const;
-
- const NarrowString&
- char_type () const;
-
- bool
- char_type_specified () const;
-
- const NarrowString&
- char_encoding () const;
-
- bool
- char_encoding_specified () const;
-
- const NarrowString&
- output_dir () const;
-
- bool
- output_dir_specified () const;
-
- const bool&
- generate_inline () const;
-
- const bool&
- generate_xml_schema () const;
-
- const NarrowString&
- extern_xml_schema () const;
-
- bool
- extern_xml_schema_specified () const;
-
- const NarrowStrings&
- namespace_map () const;
-
- bool
- namespace_map_specified () const;
-
- const NarrowStrings&
- namespace_regex () const;
-
- bool
- namespace_regex_specified () const;
-
- const bool&
- namespace_regex_trace () const;
-
- const NarrowStrings&
- reserved_name () const;
-
- bool
- reserved_name_specified () const;
-
- const bool&
- include_with_brackets () const;
-
- const NarrowString&
- include_prefix () const;
-
- bool
- include_prefix_specified () const;
-
- const NarrowStrings&
- include_regex () const;
-
- bool
- include_regex_specified () const;
-
- const bool&
- include_regex_trace () const;
-
- const NarrowString&
- guard_prefix () const;
-
- bool
- guard_prefix_specified () const;
-
- const NarrowString&
- hxx_suffix () const;
-
- bool
- hxx_suffix_specified () const;
-
- const NarrowString&
- ixx_suffix () const;
-
- bool
- ixx_suffix_specified () const;
-
- const NarrowString&
- cxx_suffix () const;
-
- bool
- cxx_suffix_specified () const;
-
- const NarrowString&
- fwd_suffix () const;
-
- bool
- fwd_suffix_specified () const;
-
- const NarrowString&
- hxx_regex () const;
-
- bool
- hxx_regex_specified () const;
-
- const NarrowString&
- ixx_regex () const;
-
- bool
- ixx_regex_specified () const;
-
- const NarrowString&
- cxx_regex () const;
-
- bool
- cxx_regex_specified () const;
-
- const NarrowString&
- fwd_regex () const;
-
- bool
- fwd_regex_specified () const;
-
- const NarrowStrings&
- hxx_prologue () const;
-
- bool
- hxx_prologue_specified () const;
-
- const NarrowStrings&
- ixx_prologue () const;
-
- bool
- ixx_prologue_specified () const;
-
- const NarrowStrings&
- cxx_prologue () const;
-
- bool
- cxx_prologue_specified () const;
-
- const NarrowStrings&
- fwd_prologue () const;
-
- bool
- fwd_prologue_specified () const;
-
- const NarrowStrings&
- prologue () const;
-
- bool
- prologue_specified () const;
-
- const NarrowStrings&
- hxx_epilogue () const;
-
- bool
- hxx_epilogue_specified () const;
-
- const NarrowStrings&
- ixx_epilogue () const;
-
- bool
- ixx_epilogue_specified () const;
-
- const NarrowStrings&
- cxx_epilogue () const;
-
- bool
- cxx_epilogue_specified () const;
-
- const NarrowStrings&
- fwd_epilogue () const;
-
- bool
- fwd_epilogue_specified () const;
-
- const NarrowStrings&
- epilogue () const;
-
- bool
- epilogue_specified () const;
-
- const NarrowString&
- hxx_prologue_file () const;
-
- bool
- hxx_prologue_file_specified () const;
-
- const NarrowString&
- ixx_prologue_file () const;
-
- bool
- ixx_prologue_file_specified () const;
-
- const NarrowString&
- cxx_prologue_file () const;
-
- bool
- cxx_prologue_file_specified () const;
-
- const NarrowString&
- fwd_prologue_file () const;
-
- bool
- fwd_prologue_file_specified () const;
-
- const NarrowString&
- prologue_file () const;
-
- bool
- prologue_file_specified () const;
-
- const NarrowString&
- hxx_epilogue_file () const;
-
- bool
- hxx_epilogue_file_specified () const;
-
- const NarrowString&
- ixx_epilogue_file () const;
-
- bool
- ixx_epilogue_file_specified () const;
-
- const NarrowString&
- cxx_epilogue_file () const;
-
- bool
- cxx_epilogue_file_specified () const;
-
- const NarrowString&
- fwd_epilogue_file () const;
-
- bool
- fwd_epilogue_file_specified () const;
-
- const NarrowString&
- epilogue_file () const;
-
- bool
- epilogue_file_specified () const;
-
- const NarrowString&
- export_symbol () const;
-
- bool
- export_symbol_specified () const;
-
- const bool&
- export_xml_schema () const;
-
- const bool&
- export_maps () const;
-
- const bool&
- import_maps () const;
-
- const bool&
- generate_dep () const;
-
- const bool&
- generate_dep_only () const;
-
- const bool&
- dep_phony () const;
-
- const NarrowStrings&
- dep_target () const;
-
- bool
- dep_target_specified () const;
-
- const NarrowString&
- dep_suffix () const;
-
- bool
- dep_suffix_specified () const;
-
- const NarrowString&
- dep_file () const;
-
- bool
- dep_file_specified () const;
-
- const NarrowString&
- dep_regex () const;
-
- bool
- dep_regex_specified () const;
-
- // Print usage information.
- //
- static ::cli::usage_para
- print_usage (::std::wostream&,
- ::cli::usage_para = ::cli::usage_para::none);
-
- // Implementation details.
- //
- protected:
- options ();
-
- bool
- _parse (const char*, ::cli::scanner&);
-
- public:
- cxx_version std_;
- bool std_specified_;
- NarrowString char_type_;
- bool char_type_specified_;
- NarrowString char_encoding_;
- bool char_encoding_specified_;
- NarrowString output_dir_;
- bool output_dir_specified_;
- bool generate_inline_;
- bool generate_xml_schema_;
- NarrowString extern_xml_schema_;
- bool extern_xml_schema_specified_;
- NarrowStrings namespace_map_;
- bool namespace_map_specified_;
- NarrowStrings namespace_regex_;
- bool namespace_regex_specified_;
- bool namespace_regex_trace_;
- NarrowStrings reserved_name_;
- bool reserved_name_specified_;
- bool include_with_brackets_;
- NarrowString include_prefix_;
- bool include_prefix_specified_;
- NarrowStrings include_regex_;
- bool include_regex_specified_;
- bool include_regex_trace_;
- NarrowString guard_prefix_;
- bool guard_prefix_specified_;
- NarrowString hxx_suffix_;
- bool hxx_suffix_specified_;
- NarrowString ixx_suffix_;
- bool ixx_suffix_specified_;
- NarrowString cxx_suffix_;
- bool cxx_suffix_specified_;
- NarrowString fwd_suffix_;
- bool fwd_suffix_specified_;
- NarrowString hxx_regex_;
- bool hxx_regex_specified_;
- NarrowString ixx_regex_;
- bool ixx_regex_specified_;
- NarrowString cxx_regex_;
- bool cxx_regex_specified_;
- NarrowString fwd_regex_;
- bool fwd_regex_specified_;
- NarrowStrings hxx_prologue_;
- bool hxx_prologue_specified_;
- NarrowStrings ixx_prologue_;
- bool ixx_prologue_specified_;
- NarrowStrings cxx_prologue_;
- bool cxx_prologue_specified_;
- NarrowStrings fwd_prologue_;
- bool fwd_prologue_specified_;
- NarrowStrings prologue_;
- bool prologue_specified_;
- NarrowStrings hxx_epilogue_;
- bool hxx_epilogue_specified_;
- NarrowStrings ixx_epilogue_;
- bool ixx_epilogue_specified_;
- NarrowStrings cxx_epilogue_;
- bool cxx_epilogue_specified_;
- NarrowStrings fwd_epilogue_;
- bool fwd_epilogue_specified_;
- NarrowStrings epilogue_;
- bool epilogue_specified_;
- NarrowString hxx_prologue_file_;
- bool hxx_prologue_file_specified_;
- NarrowString ixx_prologue_file_;
- bool ixx_prologue_file_specified_;
- NarrowString cxx_prologue_file_;
- bool cxx_prologue_file_specified_;
- NarrowString fwd_prologue_file_;
- bool fwd_prologue_file_specified_;
- NarrowString prologue_file_;
- bool prologue_file_specified_;
- NarrowString hxx_epilogue_file_;
- bool hxx_epilogue_file_specified_;
- NarrowString ixx_epilogue_file_;
- bool ixx_epilogue_file_specified_;
- NarrowString cxx_epilogue_file_;
- bool cxx_epilogue_file_specified_;
- NarrowString fwd_epilogue_file_;
- bool fwd_epilogue_file_specified_;
- NarrowString epilogue_file_;
- bool epilogue_file_specified_;
- NarrowString export_symbol_;
- bool export_symbol_specified_;
- bool export_xml_schema_;
- bool export_maps_;
- bool import_maps_;
- bool generate_dep_;
- bool generate_dep_only_;
- bool dep_phony_;
- NarrowStrings dep_target_;
- bool dep_target_specified_;
- NarrowString dep_suffix_;
- bool dep_suffix_specified_;
- NarrowString dep_file_;
- bool dep_file_specified_;
- NarrowString dep_regex_;
- bool dep_regex_specified_;
- };
-}
-
-#include <xsd/cxx/options.ixx>
-
-// Begin epilogue.
-//
-//
-// End epilogue.
-
-#endif // XSD_CXX_OPTIONS_HXX
diff --git a/xsd/pregenerated/xsd/cxx/options.ixx b/xsd/pregenerated/xsd/cxx/options.ixx
deleted file mode 100644
index 8266e31..0000000
--- a/xsd/pregenerated/xsd/cxx/options.ixx
+++ /dev/null
@@ -1,615 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-//
-// End prologue.
-
-namespace CXX
-{
- // options
- //
-
- inline const cxx_version& options::
- std () const
- {
- return this->std_;
- }
-
- inline bool options::
- std_specified () const
- {
- return this->std_specified_;
- }
-
- inline const NarrowString& options::
- char_type () const
- {
- return this->char_type_;
- }
-
- inline bool options::
- char_type_specified () const
- {
- return this->char_type_specified_;
- }
-
- inline const NarrowString& options::
- char_encoding () const
- {
- return this->char_encoding_;
- }
-
- inline bool options::
- char_encoding_specified () const
- {
- return this->char_encoding_specified_;
- }
-
- inline const NarrowString& options::
- output_dir () const
- {
- return this->output_dir_;
- }
-
- inline bool options::
- output_dir_specified () const
- {
- return this->output_dir_specified_;
- }
-
- inline const bool& options::
- generate_inline () const
- {
- return this->generate_inline_;
- }
-
- inline const bool& options::
- generate_xml_schema () const
- {
- return this->generate_xml_schema_;
- }
-
- inline const NarrowString& options::
- extern_xml_schema () const
- {
- return this->extern_xml_schema_;
- }
-
- inline bool options::
- extern_xml_schema_specified () const
- {
- return this->extern_xml_schema_specified_;
- }
-
- inline const NarrowStrings& options::
- namespace_map () const
- {
- return this->namespace_map_;
- }
-
- inline bool options::
- namespace_map_specified () const
- {
- return this->namespace_map_specified_;
- }
-
- inline const NarrowStrings& options::
- namespace_regex () const
- {
- return this->namespace_regex_;
- }
-
- inline bool options::
- namespace_regex_specified () const
- {
- return this->namespace_regex_specified_;
- }
-
- inline const bool& options::
- namespace_regex_trace () const
- {
- return this->namespace_regex_trace_;
- }
-
- inline const NarrowStrings& options::
- reserved_name () const
- {
- return this->reserved_name_;
- }
-
- inline bool options::
- reserved_name_specified () const
- {
- return this->reserved_name_specified_;
- }
-
- inline const bool& options::
- include_with_brackets () const
- {
- return this->include_with_brackets_;
- }
-
- inline const NarrowString& options::
- include_prefix () const
- {
- return this->include_prefix_;
- }
-
- inline bool options::
- include_prefix_specified () const
- {
- return this->include_prefix_specified_;
- }
-
- inline const NarrowStrings& options::
- include_regex () const
- {
- return this->include_regex_;
- }
-
- inline bool options::
- include_regex_specified () const
- {
- return this->include_regex_specified_;
- }
-
- inline const bool& options::
- include_regex_trace () const
- {
- return this->include_regex_trace_;
- }
-
- inline const NarrowString& options::
- guard_prefix () const
- {
- return this->guard_prefix_;
- }
-
- inline bool options::
- guard_prefix_specified () const
- {
- return this->guard_prefix_specified_;
- }
-
- inline const NarrowString& options::
- hxx_suffix () const
- {
- return this->hxx_suffix_;
- }
-
- inline bool options::
- hxx_suffix_specified () const
- {
- return this->hxx_suffix_specified_;
- }
-
- inline const NarrowString& options::
- ixx_suffix () const
- {
- return this->ixx_suffix_;
- }
-
- inline bool options::
- ixx_suffix_specified () const
- {
- return this->ixx_suffix_specified_;
- }
-
- inline const NarrowString& options::
- cxx_suffix () const
- {
- return this->cxx_suffix_;
- }
-
- inline bool options::
- cxx_suffix_specified () const
- {
- return this->cxx_suffix_specified_;
- }
-
- inline const NarrowString& options::
- fwd_suffix () const
- {
- return this->fwd_suffix_;
- }
-
- inline bool options::
- fwd_suffix_specified () const
- {
- return this->fwd_suffix_specified_;
- }
-
- inline const NarrowString& options::
- hxx_regex () const
- {
- return this->hxx_regex_;
- }
-
- inline bool options::
- hxx_regex_specified () const
- {
- return this->hxx_regex_specified_;
- }
-
- inline const NarrowString& options::
- ixx_regex () const
- {
- return this->ixx_regex_;
- }
-
- inline bool options::
- ixx_regex_specified () const
- {
- return this->ixx_regex_specified_;
- }
-
- inline const NarrowString& options::
- cxx_regex () const
- {
- return this->cxx_regex_;
- }
-
- inline bool options::
- cxx_regex_specified () const
- {
- return this->cxx_regex_specified_;
- }
-
- inline const NarrowString& options::
- fwd_regex () const
- {
- return this->fwd_regex_;
- }
-
- inline bool options::
- fwd_regex_specified () const
- {
- return this->fwd_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- hxx_prologue () const
- {
- return this->hxx_prologue_;
- }
-
- inline bool options::
- hxx_prologue_specified () const
- {
- return this->hxx_prologue_specified_;
- }
-
- inline const NarrowStrings& options::
- ixx_prologue () const
- {
- return this->ixx_prologue_;
- }
-
- inline bool options::
- ixx_prologue_specified () const
- {
- return this->ixx_prologue_specified_;
- }
-
- inline const NarrowStrings& options::
- cxx_prologue () const
- {
- return this->cxx_prologue_;
- }
-
- inline bool options::
- cxx_prologue_specified () const
- {
- return this->cxx_prologue_specified_;
- }
-
- inline const NarrowStrings& options::
- fwd_prologue () const
- {
- return this->fwd_prologue_;
- }
-
- inline bool options::
- fwd_prologue_specified () const
- {
- return this->fwd_prologue_specified_;
- }
-
- inline const NarrowStrings& options::
- prologue () const
- {
- return this->prologue_;
- }
-
- inline bool options::
- prologue_specified () const
- {
- return this->prologue_specified_;
- }
-
- inline const NarrowStrings& options::
- hxx_epilogue () const
- {
- return this->hxx_epilogue_;
- }
-
- inline bool options::
- hxx_epilogue_specified () const
- {
- return this->hxx_epilogue_specified_;
- }
-
- inline const NarrowStrings& options::
- ixx_epilogue () const
- {
- return this->ixx_epilogue_;
- }
-
- inline bool options::
- ixx_epilogue_specified () const
- {
- return this->ixx_epilogue_specified_;
- }
-
- inline const NarrowStrings& options::
- cxx_epilogue () const
- {
- return this->cxx_epilogue_;
- }
-
- inline bool options::
- cxx_epilogue_specified () const
- {
- return this->cxx_epilogue_specified_;
- }
-
- inline const NarrowStrings& options::
- fwd_epilogue () const
- {
- return this->fwd_epilogue_;
- }
-
- inline bool options::
- fwd_epilogue_specified () const
- {
- return this->fwd_epilogue_specified_;
- }
-
- inline const NarrowStrings& options::
- epilogue () const
- {
- return this->epilogue_;
- }
-
- inline bool options::
- epilogue_specified () const
- {
- return this->epilogue_specified_;
- }
-
- inline const NarrowString& options::
- hxx_prologue_file () const
- {
- return this->hxx_prologue_file_;
- }
-
- inline bool options::
- hxx_prologue_file_specified () const
- {
- return this->hxx_prologue_file_specified_;
- }
-
- inline const NarrowString& options::
- ixx_prologue_file () const
- {
- return this->ixx_prologue_file_;
- }
-
- inline bool options::
- ixx_prologue_file_specified () const
- {
- return this->ixx_prologue_file_specified_;
- }
-
- inline const NarrowString& options::
- cxx_prologue_file () const
- {
- return this->cxx_prologue_file_;
- }
-
- inline bool options::
- cxx_prologue_file_specified () const
- {
- return this->cxx_prologue_file_specified_;
- }
-
- inline const NarrowString& options::
- fwd_prologue_file () const
- {
- return this->fwd_prologue_file_;
- }
-
- inline bool options::
- fwd_prologue_file_specified () const
- {
- return this->fwd_prologue_file_specified_;
- }
-
- inline const NarrowString& options::
- prologue_file () const
- {
- return this->prologue_file_;
- }
-
- inline bool options::
- prologue_file_specified () const
- {
- return this->prologue_file_specified_;
- }
-
- inline const NarrowString& options::
- hxx_epilogue_file () const
- {
- return this->hxx_epilogue_file_;
- }
-
- inline bool options::
- hxx_epilogue_file_specified () const
- {
- return this->hxx_epilogue_file_specified_;
- }
-
- inline const NarrowString& options::
- ixx_epilogue_file () const
- {
- return this->ixx_epilogue_file_;
- }
-
- inline bool options::
- ixx_epilogue_file_specified () const
- {
- return this->ixx_epilogue_file_specified_;
- }
-
- inline const NarrowString& options::
- cxx_epilogue_file () const
- {
- return this->cxx_epilogue_file_;
- }
-
- inline bool options::
- cxx_epilogue_file_specified () const
- {
- return this->cxx_epilogue_file_specified_;
- }
-
- inline const NarrowString& options::
- fwd_epilogue_file () const
- {
- return this->fwd_epilogue_file_;
- }
-
- inline bool options::
- fwd_epilogue_file_specified () const
- {
- return this->fwd_epilogue_file_specified_;
- }
-
- inline const NarrowString& options::
- epilogue_file () const
- {
- return this->epilogue_file_;
- }
-
- inline bool options::
- epilogue_file_specified () const
- {
- return this->epilogue_file_specified_;
- }
-
- inline const NarrowString& options::
- export_symbol () const
- {
- return this->export_symbol_;
- }
-
- inline bool options::
- export_symbol_specified () const
- {
- return this->export_symbol_specified_;
- }
-
- inline const bool& options::
- export_xml_schema () const
- {
- return this->export_xml_schema_;
- }
-
- inline const bool& options::
- export_maps () const
- {
- return this->export_maps_;
- }
-
- inline const bool& options::
- import_maps () const
- {
- return this->import_maps_;
- }
-
- inline const bool& options::
- generate_dep () const
- {
- return this->generate_dep_;
- }
-
- inline const bool& options::
- generate_dep_only () const
- {
- return this->generate_dep_only_;
- }
-
- inline const bool& options::
- dep_phony () const
- {
- return this->dep_phony_;
- }
-
- inline const NarrowStrings& options::
- dep_target () const
- {
- return this->dep_target_;
- }
-
- inline bool options::
- dep_target_specified () const
- {
- return this->dep_target_specified_;
- }
-
- inline const NarrowString& options::
- dep_suffix () const
- {
- return this->dep_suffix_;
- }
-
- inline bool options::
- dep_suffix_specified () const
- {
- return this->dep_suffix_specified_;
- }
-
- inline const NarrowString& options::
- dep_file () const
- {
- return this->dep_file_;
- }
-
- inline bool options::
- dep_file_specified () const
- {
- return this->dep_file_specified_;
- }
-
- inline const NarrowString& options::
- dep_regex () const
- {
- return this->dep_regex_;
- }
-
- inline bool options::
- dep_regex_specified () const
- {
- return this->dep_regex_specified_;
- }
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
diff --git a/xsd/pregenerated/xsd/cxx/parser/options.cxx b/xsd/pregenerated/xsd/cxx/parser/options.cxx
deleted file mode 100644
index 60667ac..0000000
--- a/xsd/pregenerated/xsd/cxx/parser/options.cxx
+++ /dev/null
@@ -1,776 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-#include <xsd/options-parser.hxx>
-//
-// End prologue.
-
-#include <xsd/cxx/parser/options.hxx>
-
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-#include <utility>
-#include <ostream>
-#include <sstream>
-#include <cstring>
-
-namespace cli
-{
- template <typename X>
- struct parser
- {
- static void
- parse (X& x, bool& xs, scanner& s)
- {
- using namespace std;
-
- const char* o (s.next ());
- if (s.more ())
- {
- string v (s.next ());
- istringstream is (v);
- if (!(is >> x && is.peek () == istringstream::traits_type::eof ()))
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<bool>
- {
- static void
- parse (bool& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- const char* v (s.next ());
-
- if (std::strcmp (v, "1") == 0 ||
- std::strcmp (v, "true") == 0 ||
- std::strcmp (v, "TRUE") == 0 ||
- std::strcmp (v, "True") == 0)
- x = true;
- else if (std::strcmp (v, "0") == 0 ||
- std::strcmp (v, "false") == 0 ||
- std::strcmp (v, "FALSE") == 0 ||
- std::strcmp (v, "False") == 0)
- x = false;
- else
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<std::string>
- {
- static void
- parse (std::string& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- x = s.next ();
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X>
- struct parser<std::pair<X, std::size_t> >
- {
- static void
- parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s)
- {
- x.second = s.position ();
- parser<X>::parse (x.first, xs, s);
- }
- };
-
- template <typename X>
- struct parser<std::vector<X> >
- {
- static void
- parse (std::vector<X>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.push_back (x);
- xs = true;
- }
- };
-
- template <typename X, typename C>
- struct parser<std::set<X, C> >
- {
- static void
- parse (std::set<X, C>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.insert (x);
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::map<K, V, C> >
- {
- static void
- parse (std::map<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m[k] = v;
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::multimap<K, V, C> >
- {
- static void
- parse (std::multimap<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m.insert (typename std::multimap<K, V, C>::value_type (k, v));
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X, typename T, T X::*M>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, s);
- }
-
- template <typename X, bool X::*M>
- void
- thunk (X& x, scanner& s)
- {
- s.next ();
- x.*M = true;
- }
-
- template <typename X, typename T, T X::*M, bool X::*S>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, x.*S, s);
- }
-}
-
-#include <map>
-
-namespace CXX
-{
- namespace Parser
- {
- // options
- //
-
- options::
- options ()
- : type_map_ (),
- type_map_specified_ (false),
- xml_parser_ ("xerces"),
- xml_parser_specified_ (false),
- generate_validation_ (),
- suppress_validation_ (),
- generate_polymorphic_ (),
- generate_noop_impl_ (),
- generate_print_impl_ (),
- generate_test_driver_ (),
- force_overwrite_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_ (),
- root_element_specified_ (false),
- skel_type_suffix_ ("_pskel"),
- skel_type_suffix_specified_ (false),
- skel_file_suffix_ ("-pskel"),
- skel_file_suffix_specified_ (false),
- impl_type_suffix_ ("_pimpl"),
- impl_type_suffix_specified_ (false),
- impl_file_suffix_ ("-pimpl"),
- impl_file_suffix_specified_ (false)
- {
- }
-
- options::
- options (int& argc,
- char** argv,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : type_map_ (),
- type_map_specified_ (false),
- xml_parser_ ("xerces"),
- xml_parser_specified_ (false),
- generate_validation_ (),
- suppress_validation_ (),
- generate_polymorphic_ (),
- generate_noop_impl_ (),
- generate_print_impl_ (),
- generate_test_driver_ (),
- force_overwrite_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_ (),
- root_element_specified_ (false),
- skel_type_suffix_ ("_pskel"),
- skel_type_suffix_specified_ (false),
- skel_file_suffix_ ("-pskel"),
- skel_file_suffix_specified_ (false),
- impl_type_suffix_ ("_pimpl"),
- impl_type_suffix_specified_ (false),
- impl_file_suffix_ ("-pimpl"),
- impl_file_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (argc, argv, erase);
- _parse (s, opt, arg);
- }
-
- options::
- options (int start,
- int& argc,
- char** argv,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : type_map_ (),
- type_map_specified_ (false),
- xml_parser_ ("xerces"),
- xml_parser_specified_ (false),
- generate_validation_ (),
- suppress_validation_ (),
- generate_polymorphic_ (),
- generate_noop_impl_ (),
- generate_print_impl_ (),
- generate_test_driver_ (),
- force_overwrite_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_ (),
- root_element_specified_ (false),
- skel_type_suffix_ ("_pskel"),
- skel_type_suffix_specified_ (false),
- skel_file_suffix_ ("-pskel"),
- skel_file_suffix_specified_ (false),
- impl_type_suffix_ ("_pimpl"),
- impl_type_suffix_specified_ (false),
- impl_file_suffix_ ("-pimpl"),
- impl_file_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (start, argc, argv, erase);
- _parse (s, opt, arg);
- }
-
- options::
- options (int& argc,
- char** argv,
- int& end,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : type_map_ (),
- type_map_specified_ (false),
- xml_parser_ ("xerces"),
- xml_parser_specified_ (false),
- generate_validation_ (),
- suppress_validation_ (),
- generate_polymorphic_ (),
- generate_noop_impl_ (),
- generate_print_impl_ (),
- generate_test_driver_ (),
- force_overwrite_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_ (),
- root_element_specified_ (false),
- skel_type_suffix_ ("_pskel"),
- skel_type_suffix_specified_ (false),
- skel_file_suffix_ ("-pskel"),
- skel_file_suffix_specified_ (false),
- impl_type_suffix_ ("_pimpl"),
- impl_type_suffix_specified_ (false),
- impl_file_suffix_ ("-pimpl"),
- impl_file_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (argc, argv, erase);
- _parse (s, opt, arg);
- end = s.end ();
- }
-
- options::
- options (int start,
- int& argc,
- char** argv,
- int& end,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : type_map_ (),
- type_map_specified_ (false),
- xml_parser_ ("xerces"),
- xml_parser_specified_ (false),
- generate_validation_ (),
- suppress_validation_ (),
- generate_polymorphic_ (),
- generate_noop_impl_ (),
- generate_print_impl_ (),
- generate_test_driver_ (),
- force_overwrite_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_ (),
- root_element_specified_ (false),
- skel_type_suffix_ ("_pskel"),
- skel_type_suffix_specified_ (false),
- skel_file_suffix_ ("-pskel"),
- skel_file_suffix_specified_ (false),
- impl_type_suffix_ ("_pimpl"),
- impl_type_suffix_specified_ (false),
- impl_file_suffix_ ("-pimpl"),
- impl_file_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (start, argc, argv, erase);
- _parse (s, opt, arg);
- end = s.end ();
- }
-
- options::
- options (::cli::scanner& s,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : type_map_ (),
- type_map_specified_ (false),
- xml_parser_ ("xerces"),
- xml_parser_specified_ (false),
- generate_validation_ (),
- suppress_validation_ (),
- generate_polymorphic_ (),
- generate_noop_impl_ (),
- generate_print_impl_ (),
- generate_test_driver_ (),
- force_overwrite_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_ (),
- root_element_specified_ (false),
- skel_type_suffix_ ("_pskel"),
- skel_type_suffix_specified_ (false),
- skel_file_suffix_ ("-pskel"),
- skel_file_suffix_specified_ (false),
- impl_type_suffix_ ("_pimpl"),
- impl_type_suffix_specified_ (false),
- impl_file_suffix_ ("-pimpl"),
- impl_file_suffix_specified_ (false)
- {
- _parse (s, opt, arg);
- }
-
- ::cli::usage_para options::
- print_usage (::std::wostream& os, ::cli::usage_para p)
- {
- CLI_POTENTIALLY_UNUSED (os);
-
- if (p == ::cli::usage_para::text)
- os << ::std::endl;
-
- os << "--type-map <mapfile> Read XML Schema to C++ type mapping information" << ::std::endl
- << " from <mapfile>." << ::std::endl;
-
- os << "--xml-parser <parser> Use <parser> as the underlying XML parser." << ::std::endl;
-
- os << "--generate-validation Generate validation code." << ::std::endl;
-
- os << "--suppress-validation Suppress the generation of validation code." << ::std::endl;
-
- os << "--generate-polymorphic Generate polymorphism-aware code." << ::std::endl;
-
- os << "--generate-noop-impl Generate a sample parser implementation that does" << ::std::endl
- << " nothing (no operation)." << ::std::endl;
-
- os << "--generate-print-impl Generate a sample parser implementation that" << ::std::endl
- << " prints the XML data to STDOUT." << ::std::endl;
-
- os << "--generate-test-driver Generate a test driver for the sample parser" << ::std::endl
- << " implementation." << ::std::endl;
-
- os << "--force-overwrite Force overwriting of the existing implementation" << ::std::endl
- << " and test driver files." << ::std::endl;
-
- os << "--root-element-first Indicate that the first global element is the" << ::std::endl
- << " document root." << ::std::endl;
-
- os << "--root-element-last Indicate that the last global element is the" << ::std::endl
- << " document root." << ::std::endl;
-
- os << "--root-element <element> Indicate that <element> is the document root." << ::std::endl;
-
- os << "--skel-type-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " _pskel to construct the names of the generated" << ::std::endl
- << " parser skeletons." << ::std::endl;
-
- os << "--skel-file-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " -pskel to construct the names of the generated" << ::std::endl
- << " parser skeleton files." << ::std::endl;
-
- os << "--impl-type-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " _pimpl to construct the names of the parser" << ::std::endl
- << " implementations for the built-in XML Schema types" << ::std::endl
- << " as well as sample parser implementations." << ::std::endl;
-
- os << "--impl-file-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl
- << " -pimpl to construct the names of the generated" << ::std::endl
- << " sample parser implementation files." << ::std::endl;
-
- p = ::cli::usage_para::option;
-
- return p;
- }
-
- typedef
- std::map<std::string, void (*) (options&, ::cli::scanner&)>
- _cli_options_map;
-
- static _cli_options_map _cli_options_map_;
-
- struct _cli_options_map_init
- {
- _cli_options_map_init ()
- {
- _cli_options_map_["--type-map"] =
- &::cli::thunk< options, NarrowStrings, &options::type_map_,
- &options::type_map_specified_ >;
- _cli_options_map_["--xml-parser"] =
- &::cli::thunk< options, NarrowString, &options::xml_parser_,
- &options::xml_parser_specified_ >;
- _cli_options_map_["--generate-validation"] =
- &::cli::thunk< options, &options::generate_validation_ >;
- _cli_options_map_["--suppress-validation"] =
- &::cli::thunk< options, &options::suppress_validation_ >;
- _cli_options_map_["--generate-polymorphic"] =
- &::cli::thunk< options, &options::generate_polymorphic_ >;
- _cli_options_map_["--generate-noop-impl"] =
- &::cli::thunk< options, &options::generate_noop_impl_ >;
- _cli_options_map_["--generate-print-impl"] =
- &::cli::thunk< options, &options::generate_print_impl_ >;
- _cli_options_map_["--generate-test-driver"] =
- &::cli::thunk< options, &options::generate_test_driver_ >;
- _cli_options_map_["--force-overwrite"] =
- &::cli::thunk< options, &options::force_overwrite_ >;
- _cli_options_map_["--root-element-first"] =
- &::cli::thunk< options, &options::root_element_first_ >;
- _cli_options_map_["--root-element-last"] =
- &::cli::thunk< options, &options::root_element_last_ >;
- _cli_options_map_["--root-element"] =
- &::cli::thunk< options, NarrowString, &options::root_element_,
- &options::root_element_specified_ >;
- _cli_options_map_["--skel-type-suffix"] =
- &::cli::thunk< options, NarrowString, &options::skel_type_suffix_,
- &options::skel_type_suffix_specified_ >;
- _cli_options_map_["--skel-file-suffix"] =
- &::cli::thunk< options, NarrowString, &options::skel_file_suffix_,
- &options::skel_file_suffix_specified_ >;
- _cli_options_map_["--impl-type-suffix"] =
- &::cli::thunk< options, NarrowString, &options::impl_type_suffix_,
- &options::impl_type_suffix_specified_ >;
- _cli_options_map_["--impl-file-suffix"] =
- &::cli::thunk< options, NarrowString, &options::impl_file_suffix_,
- &options::impl_file_suffix_specified_ >;
- }
- };
-
- static _cli_options_map_init _cli_options_map_init_;
-
- bool options::
- _parse (const char* o, ::cli::scanner& s)
- {
- _cli_options_map::const_iterator i (_cli_options_map_.find (o));
-
- if (i != _cli_options_map_.end ())
- {
- (*(i->second)) (*this, s);
- return true;
- }
-
- // options base
- //
- if (::CXX::options::_parse (o, s))
- return true;
-
- return false;
- }
-
- bool options::
- _parse (::cli::scanner& s,
- ::cli::unknown_mode opt_mode,
- ::cli::unknown_mode arg_mode)
- {
- // Can't skip combined flags (--no-combined-flags).
- //
- assert (opt_mode != ::cli::unknown_mode::skip);
-
- bool r = false;
- bool opt = true;
-
- while (s.more ())
- {
- const char* o = s.peek ();
-
- if (std::strcmp (o, "--") == 0)
- {
- opt = false;
- s.skip ();
- r = true;
- continue;
- }
-
- if (opt)
- {
- if (_parse (o, s))
- {
- r = true;
- continue;
- }
-
- if (std::strncmp (o, "-", 1) == 0 && o[1] != '\0')
- {
- // Handle combined option values.
- //
- std::string co;
- if (const char* v = std::strchr (o, '='))
- {
- co.assign (o, 0, v - o);
- ++v;
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (co.c_str ()),
- const_cast<char*> (v)
- };
-
- ::cli::argv_scanner ns (0, ac, av);
-
- if (_parse (co.c_str (), ns))
- {
- // Parsed the option but not its value?
- //
- if (ns.end () != 2)
- throw ::cli::invalid_value (co, v);
-
- s.next ();
- r = true;
- continue;
- }
- else
- {
- // Set the unknown option and fall through.
- //
- o = co.c_str ();
- }
- }
-
- // Handle combined flags.
- //
- char cf[3];
- {
- const char* p = o + 1;
- for (; *p != '\0'; ++p)
- {
- if (!((*p >= 'a' && *p <= 'z') ||
- (*p >= 'A' && *p <= 'Z') ||
- (*p >= '0' && *p <= '9')))
- break;
- }
-
- if (*p == '\0')
- {
- for (p = o + 1; *p != '\0'; ++p)
- {
- std::strcpy (cf, "-");
- cf[1] = *p;
- cf[2] = '\0';
-
- int ac (1);
- char* av[] =
- {
- cf
- };
-
- ::cli::argv_scanner ns (0, ac, av);
-
- if (!_parse (cf, ns))
- break;
- }
-
- if (*p == '\0')
- {
- // All handled.
- //
- s.next ();
- r = true;
- continue;
- }
- else
- {
- // Set the unknown option and fall through.
- //
- o = cf;
- }
- }
- }
-
- switch (opt_mode)
- {
- case ::cli::unknown_mode::skip:
- {
- s.skip ();
- r = true;
- continue;
- }
- case ::cli::unknown_mode::stop:
- {
- break;
- }
- case ::cli::unknown_mode::fail:
- {
- throw ::cli::unknown_option (o);
- }
- }
-
- break;
- }
- }
-
- switch (arg_mode)
- {
- case ::cli::unknown_mode::skip:
- {
- s.skip ();
- r = true;
- continue;
- }
- case ::cli::unknown_mode::stop:
- {
- break;
- }
- case ::cli::unknown_mode::fail:
- {
- throw ::cli::unknown_argument (o);
- }
- }
-
- break;
- }
-
- return r;
- }
- }
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
-
diff --git a/xsd/pregenerated/xsd/cxx/parser/options.hxx b/xsd/pregenerated/xsd/cxx/parser/options.hxx
deleted file mode 100644
index 03b67fd..0000000
--- a/xsd/pregenerated/xsd/cxx/parser/options.hxx
+++ /dev/null
@@ -1,186 +0,0 @@
-// -*- 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
diff --git a/xsd/pregenerated/xsd/cxx/parser/options.ixx b/xsd/pregenerated/xsd/cxx/parser/options.ixx
deleted file mode 100644
index 64c00c5..0000000
--- a/xsd/pregenerated/xsd/cxx/parser/options.ixx
+++ /dev/null
@@ -1,162 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-//
-// End prologue.
-
-namespace CXX
-{
- namespace Parser
- {
- // options
- //
-
- inline const NarrowStrings& options::
- type_map () const
- {
- return this->type_map_;
- }
-
- inline bool options::
- type_map_specified () const
- {
- return this->type_map_specified_;
- }
-
- inline const NarrowString& options::
- xml_parser () const
- {
- return this->xml_parser_;
- }
-
- inline bool options::
- xml_parser_specified () const
- {
- return this->xml_parser_specified_;
- }
-
- inline const bool& options::
- generate_validation () const
- {
- return this->generate_validation_;
- }
-
- inline const bool& options::
- suppress_validation () const
- {
- return this->suppress_validation_;
- }
-
- inline const bool& options::
- generate_polymorphic () const
- {
- return this->generate_polymorphic_;
- }
-
- inline const bool& options::
- generate_noop_impl () const
- {
- return this->generate_noop_impl_;
- }
-
- inline const bool& options::
- generate_print_impl () const
- {
- return this->generate_print_impl_;
- }
-
- inline const bool& options::
- generate_test_driver () const
- {
- return this->generate_test_driver_;
- }
-
- inline const bool& options::
- force_overwrite () const
- {
- return this->force_overwrite_;
- }
-
- inline const bool& options::
- root_element_first () const
- {
- return this->root_element_first_;
- }
-
- inline const bool& options::
- root_element_last () const
- {
- return this->root_element_last_;
- }
-
- inline const NarrowString& options::
- root_element () const
- {
- return this->root_element_;
- }
-
- inline bool options::
- root_element_specified () const
- {
- return this->root_element_specified_;
- }
-
- inline const NarrowString& options::
- skel_type_suffix () const
- {
- return this->skel_type_suffix_;
- }
-
- inline bool options::
- skel_type_suffix_specified () const
- {
- return this->skel_type_suffix_specified_;
- }
-
- inline const NarrowString& options::
- skel_file_suffix () const
- {
- return this->skel_file_suffix_;
- }
-
- inline bool options::
- skel_file_suffix_specified () const
- {
- return this->skel_file_suffix_specified_;
- }
-
- inline const NarrowString& options::
- impl_type_suffix () const
- {
- return this->impl_type_suffix_;
- }
-
- inline bool options::
- impl_type_suffix_specified () const
- {
- return this->impl_type_suffix_specified_;
- }
-
- inline const NarrowString& options::
- impl_file_suffix () const
- {
- return this->impl_file_suffix_;
- }
-
- inline bool options::
- impl_file_suffix_specified () const
- {
- return this->impl_file_suffix_specified_;
- }
- }
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
diff --git a/xsd/pregenerated/xsd/cxx/tree/options.cxx b/xsd/pregenerated/xsd/cxx/tree/options.cxx
deleted file mode 100644
index 17214c1..0000000
--- a/xsd/pregenerated/xsd/cxx/tree/options.cxx
+++ /dev/null
@@ -1,1343 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-#include <xsd/options-parser.hxx>
-//
-// End prologue.
-
-#include <xsd/cxx/tree/options.hxx>
-
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-#include <utility>
-#include <ostream>
-#include <sstream>
-#include <cstring>
-
-namespace cli
-{
- template <typename X>
- struct parser
- {
- static void
- parse (X& x, bool& xs, scanner& s)
- {
- using namespace std;
-
- const char* o (s.next ());
- if (s.more ())
- {
- string v (s.next ());
- istringstream is (v);
- if (!(is >> x && is.peek () == istringstream::traits_type::eof ()))
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<bool>
- {
- static void
- parse (bool& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- const char* v (s.next ());
-
- if (std::strcmp (v, "1") == 0 ||
- std::strcmp (v, "true") == 0 ||
- std::strcmp (v, "TRUE") == 0 ||
- std::strcmp (v, "True") == 0)
- x = true;
- else if (std::strcmp (v, "0") == 0 ||
- std::strcmp (v, "false") == 0 ||
- std::strcmp (v, "FALSE") == 0 ||
- std::strcmp (v, "False") == 0)
- x = false;
- else
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<std::string>
- {
- static void
- parse (std::string& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- x = s.next ();
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X>
- struct parser<std::pair<X, std::size_t> >
- {
- static void
- parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s)
- {
- x.second = s.position ();
- parser<X>::parse (x.first, xs, s);
- }
- };
-
- template <typename X>
- struct parser<std::vector<X> >
- {
- static void
- parse (std::vector<X>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.push_back (x);
- xs = true;
- }
- };
-
- template <typename X, typename C>
- struct parser<std::set<X, C> >
- {
- static void
- parse (std::set<X, C>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.insert (x);
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::map<K, V, C> >
- {
- static void
- parse (std::map<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m[k] = v;
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::multimap<K, V, C> >
- {
- static void
- parse (std::multimap<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m.insert (typename std::multimap<K, V, C>::value_type (k, v));
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X, typename T, T X::*M>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, s);
- }
-
- template <typename X, bool X::*M>
- void
- thunk (X& x, scanner& s)
- {
- s.next ();
- x.*M = true;
- }
-
- template <typename X, typename T, T X::*M, bool X::*S>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, x.*S, s);
- }
-}
-
-#include <map>
-
-namespace CXX
-{
- namespace Tree
- {
- // options
- //
-
- options::
- options ()
- : generate_polymorphic_ (),
- polymorphic_type_ (),
- polymorphic_type_specified_ (false),
- polymorphic_type_all_ (),
- polymorphic_plate_ (0),
- polymorphic_plate_specified_ (false),
- ordered_type_ (),
- ordered_type_specified_ (false),
- ordered_type_derived_ (),
- ordered_type_mixed_ (),
- ordered_type_all_ (),
- order_container_ (),
- order_container_specified_ (false),
- generate_serialization_ (),
- generate_ostream_ (),
- generate_doxygen_ (),
- generate_comparison_ (),
- generate_default_ctor_ (),
- generate_from_base_ctor_ (),
- suppress_assignment_ (),
- generate_detach_ (),
- generate_wildcard_ (),
- generate_any_type_ (),
- generate_insertion_ (),
- generate_insertion_specified_ (false),
- generate_extraction_ (),
- generate_extraction_specified_ (false),
- generate_forward_ (),
- suppress_parsing_ (),
- generate_element_type_ (),
- generate_element_map_ (),
- generate_intellisense_ (),
- omit_default_attributes_ (),
- type_naming_ ("knr"),
- type_naming_specified_ (false),
- function_naming_ ("knr"),
- function_naming_specified_ (false),
- type_regex_ (),
- type_regex_specified_ (false),
- accessor_regex_ (),
- accessor_regex_specified_ (false),
- one_accessor_regex_ (),
- one_accessor_regex_specified_ (false),
- opt_accessor_regex_ (),
- opt_accessor_regex_specified_ (false),
- seq_accessor_regex_ (),
- seq_accessor_regex_specified_ (false),
- modifier_regex_ (),
- modifier_regex_specified_ (false),
- one_modifier_regex_ (),
- one_modifier_regex_specified_ (false),
- opt_modifier_regex_ (),
- opt_modifier_regex_specified_ (false),
- seq_modifier_regex_ (),
- seq_modifier_regex_specified_ (false),
- parser_regex_ (),
- parser_regex_specified_ (false),
- serializer_regex_ (),
- serializer_regex_specified_ (false),
- const_regex_ (),
- const_regex_specified_ (false),
- enumerator_regex_ (),
- enumerator_regex_specified_ (false),
- element_type_regex_ (),
- element_type_regex_specified_ (false),
- name_regex_trace_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_all_ (),
- root_element_none_ (),
- root_element_ (),
- root_element_specified_ (false),
- custom_type_ (),
- custom_type_specified_ (false),
- custom_type_regex_ (),
- custom_type_regex_specified_ (false),
- parts_ (1),
- parts_specified_ (false),
- parts_suffix_ ("-"),
- parts_suffix_specified_ (false)
- {
- }
-
- options::
- options (int& argc,
- char** argv,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : generate_polymorphic_ (),
- polymorphic_type_ (),
- polymorphic_type_specified_ (false),
- polymorphic_type_all_ (),
- polymorphic_plate_ (0),
- polymorphic_plate_specified_ (false),
- ordered_type_ (),
- ordered_type_specified_ (false),
- ordered_type_derived_ (),
- ordered_type_mixed_ (),
- ordered_type_all_ (),
- order_container_ (),
- order_container_specified_ (false),
- generate_serialization_ (),
- generate_ostream_ (),
- generate_doxygen_ (),
- generate_comparison_ (),
- generate_default_ctor_ (),
- generate_from_base_ctor_ (),
- suppress_assignment_ (),
- generate_detach_ (),
- generate_wildcard_ (),
- generate_any_type_ (),
- generate_insertion_ (),
- generate_insertion_specified_ (false),
- generate_extraction_ (),
- generate_extraction_specified_ (false),
- generate_forward_ (),
- suppress_parsing_ (),
- generate_element_type_ (),
- generate_element_map_ (),
- generate_intellisense_ (),
- omit_default_attributes_ (),
- type_naming_ ("knr"),
- type_naming_specified_ (false),
- function_naming_ ("knr"),
- function_naming_specified_ (false),
- type_regex_ (),
- type_regex_specified_ (false),
- accessor_regex_ (),
- accessor_regex_specified_ (false),
- one_accessor_regex_ (),
- one_accessor_regex_specified_ (false),
- opt_accessor_regex_ (),
- opt_accessor_regex_specified_ (false),
- seq_accessor_regex_ (),
- seq_accessor_regex_specified_ (false),
- modifier_regex_ (),
- modifier_regex_specified_ (false),
- one_modifier_regex_ (),
- one_modifier_regex_specified_ (false),
- opt_modifier_regex_ (),
- opt_modifier_regex_specified_ (false),
- seq_modifier_regex_ (),
- seq_modifier_regex_specified_ (false),
- parser_regex_ (),
- parser_regex_specified_ (false),
- serializer_regex_ (),
- serializer_regex_specified_ (false),
- const_regex_ (),
- const_regex_specified_ (false),
- enumerator_regex_ (),
- enumerator_regex_specified_ (false),
- element_type_regex_ (),
- element_type_regex_specified_ (false),
- name_regex_trace_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_all_ (),
- root_element_none_ (),
- root_element_ (),
- root_element_specified_ (false),
- custom_type_ (),
- custom_type_specified_ (false),
- custom_type_regex_ (),
- custom_type_regex_specified_ (false),
- parts_ (1),
- parts_specified_ (false),
- parts_suffix_ ("-"),
- parts_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (argc, argv, erase);
- _parse (s, opt, arg);
- }
-
- options::
- options (int start,
- int& argc,
- char** argv,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : generate_polymorphic_ (),
- polymorphic_type_ (),
- polymorphic_type_specified_ (false),
- polymorphic_type_all_ (),
- polymorphic_plate_ (0),
- polymorphic_plate_specified_ (false),
- ordered_type_ (),
- ordered_type_specified_ (false),
- ordered_type_derived_ (),
- ordered_type_mixed_ (),
- ordered_type_all_ (),
- order_container_ (),
- order_container_specified_ (false),
- generate_serialization_ (),
- generate_ostream_ (),
- generate_doxygen_ (),
- generate_comparison_ (),
- generate_default_ctor_ (),
- generate_from_base_ctor_ (),
- suppress_assignment_ (),
- generate_detach_ (),
- generate_wildcard_ (),
- generate_any_type_ (),
- generate_insertion_ (),
- generate_insertion_specified_ (false),
- generate_extraction_ (),
- generate_extraction_specified_ (false),
- generate_forward_ (),
- suppress_parsing_ (),
- generate_element_type_ (),
- generate_element_map_ (),
- generate_intellisense_ (),
- omit_default_attributes_ (),
- type_naming_ ("knr"),
- type_naming_specified_ (false),
- function_naming_ ("knr"),
- function_naming_specified_ (false),
- type_regex_ (),
- type_regex_specified_ (false),
- accessor_regex_ (),
- accessor_regex_specified_ (false),
- one_accessor_regex_ (),
- one_accessor_regex_specified_ (false),
- opt_accessor_regex_ (),
- opt_accessor_regex_specified_ (false),
- seq_accessor_regex_ (),
- seq_accessor_regex_specified_ (false),
- modifier_regex_ (),
- modifier_regex_specified_ (false),
- one_modifier_regex_ (),
- one_modifier_regex_specified_ (false),
- opt_modifier_regex_ (),
- opt_modifier_regex_specified_ (false),
- seq_modifier_regex_ (),
- seq_modifier_regex_specified_ (false),
- parser_regex_ (),
- parser_regex_specified_ (false),
- serializer_regex_ (),
- serializer_regex_specified_ (false),
- const_regex_ (),
- const_regex_specified_ (false),
- enumerator_regex_ (),
- enumerator_regex_specified_ (false),
- element_type_regex_ (),
- element_type_regex_specified_ (false),
- name_regex_trace_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_all_ (),
- root_element_none_ (),
- root_element_ (),
- root_element_specified_ (false),
- custom_type_ (),
- custom_type_specified_ (false),
- custom_type_regex_ (),
- custom_type_regex_specified_ (false),
- parts_ (1),
- parts_specified_ (false),
- parts_suffix_ ("-"),
- parts_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (start, argc, argv, erase);
- _parse (s, opt, arg);
- }
-
- options::
- options (int& argc,
- char** argv,
- int& end,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : generate_polymorphic_ (),
- polymorphic_type_ (),
- polymorphic_type_specified_ (false),
- polymorphic_type_all_ (),
- polymorphic_plate_ (0),
- polymorphic_plate_specified_ (false),
- ordered_type_ (),
- ordered_type_specified_ (false),
- ordered_type_derived_ (),
- ordered_type_mixed_ (),
- ordered_type_all_ (),
- order_container_ (),
- order_container_specified_ (false),
- generate_serialization_ (),
- generate_ostream_ (),
- generate_doxygen_ (),
- generate_comparison_ (),
- generate_default_ctor_ (),
- generate_from_base_ctor_ (),
- suppress_assignment_ (),
- generate_detach_ (),
- generate_wildcard_ (),
- generate_any_type_ (),
- generate_insertion_ (),
- generate_insertion_specified_ (false),
- generate_extraction_ (),
- generate_extraction_specified_ (false),
- generate_forward_ (),
- suppress_parsing_ (),
- generate_element_type_ (),
- generate_element_map_ (),
- generate_intellisense_ (),
- omit_default_attributes_ (),
- type_naming_ ("knr"),
- type_naming_specified_ (false),
- function_naming_ ("knr"),
- function_naming_specified_ (false),
- type_regex_ (),
- type_regex_specified_ (false),
- accessor_regex_ (),
- accessor_regex_specified_ (false),
- one_accessor_regex_ (),
- one_accessor_regex_specified_ (false),
- opt_accessor_regex_ (),
- opt_accessor_regex_specified_ (false),
- seq_accessor_regex_ (),
- seq_accessor_regex_specified_ (false),
- modifier_regex_ (),
- modifier_regex_specified_ (false),
- one_modifier_regex_ (),
- one_modifier_regex_specified_ (false),
- opt_modifier_regex_ (),
- opt_modifier_regex_specified_ (false),
- seq_modifier_regex_ (),
- seq_modifier_regex_specified_ (false),
- parser_regex_ (),
- parser_regex_specified_ (false),
- serializer_regex_ (),
- serializer_regex_specified_ (false),
- const_regex_ (),
- const_regex_specified_ (false),
- enumerator_regex_ (),
- enumerator_regex_specified_ (false),
- element_type_regex_ (),
- element_type_regex_specified_ (false),
- name_regex_trace_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_all_ (),
- root_element_none_ (),
- root_element_ (),
- root_element_specified_ (false),
- custom_type_ (),
- custom_type_specified_ (false),
- custom_type_regex_ (),
- custom_type_regex_specified_ (false),
- parts_ (1),
- parts_specified_ (false),
- parts_suffix_ ("-"),
- parts_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (argc, argv, erase);
- _parse (s, opt, arg);
- end = s.end ();
- }
-
- options::
- options (int start,
- int& argc,
- char** argv,
- int& end,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : generate_polymorphic_ (),
- polymorphic_type_ (),
- polymorphic_type_specified_ (false),
- polymorphic_type_all_ (),
- polymorphic_plate_ (0),
- polymorphic_plate_specified_ (false),
- ordered_type_ (),
- ordered_type_specified_ (false),
- ordered_type_derived_ (),
- ordered_type_mixed_ (),
- ordered_type_all_ (),
- order_container_ (),
- order_container_specified_ (false),
- generate_serialization_ (),
- generate_ostream_ (),
- generate_doxygen_ (),
- generate_comparison_ (),
- generate_default_ctor_ (),
- generate_from_base_ctor_ (),
- suppress_assignment_ (),
- generate_detach_ (),
- generate_wildcard_ (),
- generate_any_type_ (),
- generate_insertion_ (),
- generate_insertion_specified_ (false),
- generate_extraction_ (),
- generate_extraction_specified_ (false),
- generate_forward_ (),
- suppress_parsing_ (),
- generate_element_type_ (),
- generate_element_map_ (),
- generate_intellisense_ (),
- omit_default_attributes_ (),
- type_naming_ ("knr"),
- type_naming_specified_ (false),
- function_naming_ ("knr"),
- function_naming_specified_ (false),
- type_regex_ (),
- type_regex_specified_ (false),
- accessor_regex_ (),
- accessor_regex_specified_ (false),
- one_accessor_regex_ (),
- one_accessor_regex_specified_ (false),
- opt_accessor_regex_ (),
- opt_accessor_regex_specified_ (false),
- seq_accessor_regex_ (),
- seq_accessor_regex_specified_ (false),
- modifier_regex_ (),
- modifier_regex_specified_ (false),
- one_modifier_regex_ (),
- one_modifier_regex_specified_ (false),
- opt_modifier_regex_ (),
- opt_modifier_regex_specified_ (false),
- seq_modifier_regex_ (),
- seq_modifier_regex_specified_ (false),
- parser_regex_ (),
- parser_regex_specified_ (false),
- serializer_regex_ (),
- serializer_regex_specified_ (false),
- const_regex_ (),
- const_regex_specified_ (false),
- enumerator_regex_ (),
- enumerator_regex_specified_ (false),
- element_type_regex_ (),
- element_type_regex_specified_ (false),
- name_regex_trace_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_all_ (),
- root_element_none_ (),
- root_element_ (),
- root_element_specified_ (false),
- custom_type_ (),
- custom_type_specified_ (false),
- custom_type_regex_ (),
- custom_type_regex_specified_ (false),
- parts_ (1),
- parts_specified_ (false),
- parts_suffix_ ("-"),
- parts_suffix_specified_ (false)
- {
- ::cli::argv_scanner s (start, argc, argv, erase);
- _parse (s, opt, arg);
- end = s.end ();
- }
-
- options::
- options (::cli::scanner& s,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
- : generate_polymorphic_ (),
- polymorphic_type_ (),
- polymorphic_type_specified_ (false),
- polymorphic_type_all_ (),
- polymorphic_plate_ (0),
- polymorphic_plate_specified_ (false),
- ordered_type_ (),
- ordered_type_specified_ (false),
- ordered_type_derived_ (),
- ordered_type_mixed_ (),
- ordered_type_all_ (),
- order_container_ (),
- order_container_specified_ (false),
- generate_serialization_ (),
- generate_ostream_ (),
- generate_doxygen_ (),
- generate_comparison_ (),
- generate_default_ctor_ (),
- generate_from_base_ctor_ (),
- suppress_assignment_ (),
- generate_detach_ (),
- generate_wildcard_ (),
- generate_any_type_ (),
- generate_insertion_ (),
- generate_insertion_specified_ (false),
- generate_extraction_ (),
- generate_extraction_specified_ (false),
- generate_forward_ (),
- suppress_parsing_ (),
- generate_element_type_ (),
- generate_element_map_ (),
- generate_intellisense_ (),
- omit_default_attributes_ (),
- type_naming_ ("knr"),
- type_naming_specified_ (false),
- function_naming_ ("knr"),
- function_naming_specified_ (false),
- type_regex_ (),
- type_regex_specified_ (false),
- accessor_regex_ (),
- accessor_regex_specified_ (false),
- one_accessor_regex_ (),
- one_accessor_regex_specified_ (false),
- opt_accessor_regex_ (),
- opt_accessor_regex_specified_ (false),
- seq_accessor_regex_ (),
- seq_accessor_regex_specified_ (false),
- modifier_regex_ (),
- modifier_regex_specified_ (false),
- one_modifier_regex_ (),
- one_modifier_regex_specified_ (false),
- opt_modifier_regex_ (),
- opt_modifier_regex_specified_ (false),
- seq_modifier_regex_ (),
- seq_modifier_regex_specified_ (false),
- parser_regex_ (),
- parser_regex_specified_ (false),
- serializer_regex_ (),
- serializer_regex_specified_ (false),
- const_regex_ (),
- const_regex_specified_ (false),
- enumerator_regex_ (),
- enumerator_regex_specified_ (false),
- element_type_regex_ (),
- element_type_regex_specified_ (false),
- name_regex_trace_ (),
- root_element_first_ (),
- root_element_last_ (),
- root_element_all_ (),
- root_element_none_ (),
- root_element_ (),
- root_element_specified_ (false),
- custom_type_ (),
- custom_type_specified_ (false),
- custom_type_regex_ (),
- custom_type_regex_specified_ (false),
- parts_ (1),
- parts_specified_ (false),
- parts_suffix_ ("-"),
- parts_suffix_specified_ (false)
- {
- _parse (s, opt, arg);
- }
-
- ::cli::usage_para options::
- print_usage (::std::wostream& os, ::cli::usage_para p)
- {
- CLI_POTENTIALLY_UNUSED (os);
-
- if (p == ::cli::usage_para::text)
- os << ::std::endl;
-
- os << "--generate-polymorphic Generate polymorphism-aware code." << ::std::endl;
-
- os << "--polymorphic-type <type> Indicate that <type> is a root of a polymorphic" << ::std::endl
- << " type hierarchy." << ::std::endl;
-
- os << "--polymorphic-type-all Indicate that all types should be treated as" << ::std::endl
- << " polymorphic." << ::std::endl;
-
- os << "--polymorphic-plate <num> Specify the polymorphic map plate the generated" << ::std::endl
- << " code should register on." << ::std::endl;
-
- os << "--ordered-type <type> Indicate that element order in <type> is" << ::std::endl
- << " significant." << ::std::endl;
-
- os << "--ordered-type-derived Automatically treat types derived from ordered" << ::std::endl
- << " bases as also ordered." << ::std::endl;
-
- os << "--ordered-type-mixed Automatically treat complex types with mixed" << ::std::endl
- << " content as ordered." << ::std::endl;
-
- os << "--ordered-type-all Indicate that element order in all types is" << ::std::endl
- << " significant." << ::std::endl;
-
- os << "--order-container <type> Specify a custom class template that should be" << ::std::endl
- << " used as a container for the content order in" << ::std::endl
- << " ordered types instead of the default std::vector." << ::std::endl;
-
- os << "--generate-serialization Generate serialization functions." << ::std::endl;
-
- os << "--generate-ostream Generate ostream insertion operators (operator<<)" << ::std::endl
- << " for generated types." << ::std::endl;
-
- os << "--generate-doxygen Generate documentation comments suitable for" << ::std::endl
- << " extraction by the Doxygen documentation system." << ::std::endl;
-
- os << "--generate-comparison Generate comparison operators (operator== and" << ::std::endl
- << " operator!=) for complex types." << ::std::endl;
-
- os << "--generate-default-ctor Generate default constructors even for types that" << ::std::endl
- << " have required members." << ::std::endl;
-
- os << "--generate-from-base-ctor Generate constructors that expect an instance of a" << ::std::endl
- << " base type followed by all required members." << ::std::endl;
-
- os << "--suppress-assignment Suppress the generation of copy assignment" << ::std::endl
- << " operators for complex types." << ::std::endl;
-
- os << "--generate-detach Generate detach functions for required elements" << ::std::endl
- << " and attributes." << ::std::endl;
-
- os << "--generate-wildcard Generate accessors and modifiers as well as" << ::std::endl
- << " parsing and serialization code for XML Schema" << ::std::endl
- << " wildcards (any and anyAttribute)." << ::std::endl;
-
- os << "--generate-any-type Extract and store content of the XML Schema" << ::std::endl
- << " anyType type as a DOM fragment." << ::std::endl;
-
- os << "--generate-insertion <os> Generate data representation stream insertion" << ::std::endl
- << " operators for the <os> output stream type." << ::std::endl;
-
- os << "--generate-extraction <is> Generate data representation stream extraction" << ::std::endl
- << " constructors for the <is> input stream type." << ::std::endl;
-
- os << "--generate-forward Generate a separate header file with forward" << ::std::endl
- << " declarations for the types being generated." << ::std::endl;
-
- os << "--suppress-parsing Suppress the generation of the parsing functions" << ::std::endl
- << " and constructors." << ::std::endl;
-
- os << "--generate-element-type Generate types instead of parsing and" << ::std::endl
- << " serialization functions for root elements." << ::std::endl;
-
- os << "--generate-element-map Generate a root element map that allows uniform" << ::std::endl
- << " parsing and serialization of multiple root" << ::std::endl
- << " elements." << ::std::endl;
-
- os << "--generate-intellisense Generate workarounds for IntelliSense bugs in" << ::std::endl
- << " Visual Studio 2005 (8.0)." << ::std::endl;
-
- os << "--omit-default-attributes Omit attributes with default and fixed values from" << ::std::endl
- << " serialized XML documents." << ::std::endl;
-
- os << "--type-naming <style> Specify the type naming convention that should be" << ::std::endl
- << " used in the generated code." << ::std::endl;
-
- os << "--function-naming <style> Specify the function naming convention that should" << ::std::endl
- << " be used in the generated code." << ::std::endl;
-
- os << "--type-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema type names to C++" << ::std::endl
- << " type names." << ::std::endl;
-
- os << "--accessor-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes to C++ accessor function" << ::std::endl
- << " names." << ::std::endl;
-
- os << "--one-accessor-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes with cardinality one to C++" << ::std::endl
- << " accessor function names." << ::std::endl;
-
- os << "--opt-accessor-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes with cardinality optional to" << ::std::endl
- << " C++ accessor function names." << ::std::endl;
-
- os << "--seq-accessor-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes with cardinality sequence to" << ::std::endl
- << " C++ accessor function names." << ::std::endl;
-
- os << "--modifier-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes to C++ modifier function" << ::std::endl
- << " names." << ::std::endl;
-
- os << "--one-modifier-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes with cardinality one to C++" << ::std::endl
- << " modifier function names." << ::std::endl;
-
- os << "--opt-modifier-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes with cardinality optional to" << ::std::endl
- << " C++ modifier function names." << ::std::endl;
-
- os << "--seq-modifier-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema names of" << ::std::endl
- << " elements/attributes with cardinality sequence to" << ::std::endl
- << " C++ modifier function names." << ::std::endl;
-
- os << "--parser-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema element names to C++" << ::std::endl
- << " parsing function names." << ::std::endl;
-
- os << "--serializer-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema element names to C++" << ::std::endl
- << " serialization function names." << ::std::endl;
-
- os << "--const-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema-derived names to C++" << ::std::endl
- << " constant names." << ::std::endl;
-
- os << "--enumerator-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema enumeration values to" << ::std::endl
- << " C++ enumerator names." << ::std::endl;
-
- os << "--element-type-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate XML Schema element names to C++" << ::std::endl
- << " element type names." << ::std::endl;
-
- os << "--name-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the name transformation options." << ::std::endl;
-
- os << "--root-element-first Treat only the first global element as a document" << ::std::endl
- << " root." << ::std::endl;
-
- os << "--root-element-last Treat only the last global element as a document" << ::std::endl
- << " root." << ::std::endl;
-
- os << "--root-element-all Treat all global elements as document roots." << ::std::endl;
-
- os << "--root-element-none Do not treat any global elements as document" << ::std::endl
- << " roots." << ::std::endl;
-
- os << "--root-element <element> Treat only <element> as a document root." << ::std::endl;
-
- os << "--custom-type <map> Use a custom C++ type instead of the generated" << ::std::endl
- << " class." << ::std::endl;
-
- os << "--custom-type-regex <regex> Use custom C++ types instead of the generated" << ::std::endl
- << " classes." << ::std::endl;
-
- os << "--parts <num> Split generated source code into <num> parts." << ::std::endl;
-
- os << "--parts-suffix <suffix> Use <suffix> instead of the default '-' to" << ::std::endl
- << " separate the file name from the part number." << ::std::endl;
-
- p = ::cli::usage_para::option;
-
- return p;
- }
-
- typedef
- std::map<std::string, void (*) (options&, ::cli::scanner&)>
- _cli_options_map;
-
- static _cli_options_map _cli_options_map_;
-
- struct _cli_options_map_init
- {
- _cli_options_map_init ()
- {
- _cli_options_map_["--generate-polymorphic"] =
- &::cli::thunk< options, &options::generate_polymorphic_ >;
- _cli_options_map_["--polymorphic-type"] =
- &::cli::thunk< options, NarrowStrings, &options::polymorphic_type_,
- &options::polymorphic_type_specified_ >;
- _cli_options_map_["--polymorphic-type-all"] =
- &::cli::thunk< options, &options::polymorphic_type_all_ >;
- _cli_options_map_["--polymorphic-plate"] =
- &::cli::thunk< options, unsigned long, &options::polymorphic_plate_,
- &options::polymorphic_plate_specified_ >;
- _cli_options_map_["--ordered-type"] =
- &::cli::thunk< options, NarrowStrings, &options::ordered_type_,
- &options::ordered_type_specified_ >;
- _cli_options_map_["--ordered-type-derived"] =
- &::cli::thunk< options, &options::ordered_type_derived_ >;
- _cli_options_map_["--ordered-type-mixed"] =
- &::cli::thunk< options, &options::ordered_type_mixed_ >;
- _cli_options_map_["--ordered-type-all"] =
- &::cli::thunk< options, &options::ordered_type_all_ >;
- _cli_options_map_["--order-container"] =
- &::cli::thunk< options, NarrowString, &options::order_container_,
- &options::order_container_specified_ >;
- _cli_options_map_["--generate-serialization"] =
- &::cli::thunk< options, &options::generate_serialization_ >;
- _cli_options_map_["--generate-ostream"] =
- &::cli::thunk< options, &options::generate_ostream_ >;
- _cli_options_map_["--generate-doxygen"] =
- &::cli::thunk< options, &options::generate_doxygen_ >;
- _cli_options_map_["--generate-comparison"] =
- &::cli::thunk< options, &options::generate_comparison_ >;
- _cli_options_map_["--generate-default-ctor"] =
- &::cli::thunk< options, &options::generate_default_ctor_ >;
- _cli_options_map_["--generate-from-base-ctor"] =
- &::cli::thunk< options, &options::generate_from_base_ctor_ >;
- _cli_options_map_["--suppress-assignment"] =
- &::cli::thunk< options, &options::suppress_assignment_ >;
- _cli_options_map_["--generate-detach"] =
- &::cli::thunk< options, &options::generate_detach_ >;
- _cli_options_map_["--generate-wildcard"] =
- &::cli::thunk< options, &options::generate_wildcard_ >;
- _cli_options_map_["--generate-any-type"] =
- &::cli::thunk< options, &options::generate_any_type_ >;
- _cli_options_map_["--generate-insertion"] =
- &::cli::thunk< options, NarrowStrings, &options::generate_insertion_,
- &options::generate_insertion_specified_ >;
- _cli_options_map_["--generate-extraction"] =
- &::cli::thunk< options, NarrowStrings, &options::generate_extraction_,
- &options::generate_extraction_specified_ >;
- _cli_options_map_["--generate-forward"] =
- &::cli::thunk< options, &options::generate_forward_ >;
- _cli_options_map_["--suppress-parsing"] =
- &::cli::thunk< options, &options::suppress_parsing_ >;
- _cli_options_map_["--generate-element-type"] =
- &::cli::thunk< options, &options::generate_element_type_ >;
- _cli_options_map_["--generate-element-map"] =
- &::cli::thunk< options, &options::generate_element_map_ >;
- _cli_options_map_["--generate-intellisense"] =
- &::cli::thunk< options, &options::generate_intellisense_ >;
- _cli_options_map_["--omit-default-attributes"] =
- &::cli::thunk< options, &options::omit_default_attributes_ >;
- _cli_options_map_["--type-naming"] =
- &::cli::thunk< options, NarrowString, &options::type_naming_,
- &options::type_naming_specified_ >;
- _cli_options_map_["--function-naming"] =
- &::cli::thunk< options, NarrowString, &options::function_naming_,
- &options::function_naming_specified_ >;
- _cli_options_map_["--type-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::type_regex_,
- &options::type_regex_specified_ >;
- _cli_options_map_["--accessor-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::accessor_regex_,
- &options::accessor_regex_specified_ >;
- _cli_options_map_["--one-accessor-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::one_accessor_regex_,
- &options::one_accessor_regex_specified_ >;
- _cli_options_map_["--opt-accessor-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::opt_accessor_regex_,
- &options::opt_accessor_regex_specified_ >;
- _cli_options_map_["--seq-accessor-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::seq_accessor_regex_,
- &options::seq_accessor_regex_specified_ >;
- _cli_options_map_["--modifier-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::modifier_regex_,
- &options::modifier_regex_specified_ >;
- _cli_options_map_["--one-modifier-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::one_modifier_regex_,
- &options::one_modifier_regex_specified_ >;
- _cli_options_map_["--opt-modifier-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::opt_modifier_regex_,
- &options::opt_modifier_regex_specified_ >;
- _cli_options_map_["--seq-modifier-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::seq_modifier_regex_,
- &options::seq_modifier_regex_specified_ >;
- _cli_options_map_["--parser-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::parser_regex_,
- &options::parser_regex_specified_ >;
- _cli_options_map_["--serializer-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::serializer_regex_,
- &options::serializer_regex_specified_ >;
- _cli_options_map_["--const-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::const_regex_,
- &options::const_regex_specified_ >;
- _cli_options_map_["--enumerator-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::enumerator_regex_,
- &options::enumerator_regex_specified_ >;
- _cli_options_map_["--element-type-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::element_type_regex_,
- &options::element_type_regex_specified_ >;
- _cli_options_map_["--name-regex-trace"] =
- &::cli::thunk< options, &options::name_regex_trace_ >;
- _cli_options_map_["--root-element-first"] =
- &::cli::thunk< options, &options::root_element_first_ >;
- _cli_options_map_["--root-element-last"] =
- &::cli::thunk< options, &options::root_element_last_ >;
- _cli_options_map_["--root-element-all"] =
- &::cli::thunk< options, &options::root_element_all_ >;
- _cli_options_map_["--root-element-none"] =
- &::cli::thunk< options, &options::root_element_none_ >;
- _cli_options_map_["--root-element"] =
- &::cli::thunk< options, NarrowStrings, &options::root_element_,
- &options::root_element_specified_ >;
- _cli_options_map_["--custom-type"] =
- &::cli::thunk< options, NarrowStrings, &options::custom_type_,
- &options::custom_type_specified_ >;
- _cli_options_map_["--custom-type-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::custom_type_regex_,
- &options::custom_type_regex_specified_ >;
- _cli_options_map_["--parts"] =
- &::cli::thunk< options, std::size_t, &options::parts_,
- &options::parts_specified_ >;
- _cli_options_map_["--parts-suffix"] =
- &::cli::thunk< options, NarrowString, &options::parts_suffix_,
- &options::parts_suffix_specified_ >;
- }
- };
-
- static _cli_options_map_init _cli_options_map_init_;
-
- bool options::
- _parse (const char* o, ::cli::scanner& s)
- {
- _cli_options_map::const_iterator i (_cli_options_map_.find (o));
-
- if (i != _cli_options_map_.end ())
- {
- (*(i->second)) (*this, s);
- return true;
- }
-
- // options base
- //
- if (::CXX::options::_parse (o, s))
- return true;
-
- return false;
- }
-
- bool options::
- _parse (::cli::scanner& s,
- ::cli::unknown_mode opt_mode,
- ::cli::unknown_mode arg_mode)
- {
- // Can't skip combined flags (--no-combined-flags).
- //
- assert (opt_mode != ::cli::unknown_mode::skip);
-
- bool r = false;
- bool opt = true;
-
- while (s.more ())
- {
- const char* o = s.peek ();
-
- if (std::strcmp (o, "--") == 0)
- {
- opt = false;
- s.skip ();
- r = true;
- continue;
- }
-
- if (opt)
- {
- if (_parse (o, s))
- {
- r = true;
- continue;
- }
-
- if (std::strncmp (o, "-", 1) == 0 && o[1] != '\0')
- {
- // Handle combined option values.
- //
- std::string co;
- if (const char* v = std::strchr (o, '='))
- {
- co.assign (o, 0, v - o);
- ++v;
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (co.c_str ()),
- const_cast<char*> (v)
- };
-
- ::cli::argv_scanner ns (0, ac, av);
-
- if (_parse (co.c_str (), ns))
- {
- // Parsed the option but not its value?
- //
- if (ns.end () != 2)
- throw ::cli::invalid_value (co, v);
-
- s.next ();
- r = true;
- continue;
- }
- else
- {
- // Set the unknown option and fall through.
- //
- o = co.c_str ();
- }
- }
-
- // Handle combined flags.
- //
- char cf[3];
- {
- const char* p = o + 1;
- for (; *p != '\0'; ++p)
- {
- if (!((*p >= 'a' && *p <= 'z') ||
- (*p >= 'A' && *p <= 'Z') ||
- (*p >= '0' && *p <= '9')))
- break;
- }
-
- if (*p == '\0')
- {
- for (p = o + 1; *p != '\0'; ++p)
- {
- std::strcpy (cf, "-");
- cf[1] = *p;
- cf[2] = '\0';
-
- int ac (1);
- char* av[] =
- {
- cf
- };
-
- ::cli::argv_scanner ns (0, ac, av);
-
- if (!_parse (cf, ns))
- break;
- }
-
- if (*p == '\0')
- {
- // All handled.
- //
- s.next ();
- r = true;
- continue;
- }
- else
- {
- // Set the unknown option and fall through.
- //
- o = cf;
- }
- }
- }
-
- switch (opt_mode)
- {
- case ::cli::unknown_mode::skip:
- {
- s.skip ();
- r = true;
- continue;
- }
- case ::cli::unknown_mode::stop:
- {
- break;
- }
- case ::cli::unknown_mode::fail:
- {
- throw ::cli::unknown_option (o);
- }
- }
-
- break;
- }
- }
-
- switch (arg_mode)
- {
- case ::cli::unknown_mode::skip:
- {
- s.skip ();
- r = true;
- continue;
- }
- case ::cli::unknown_mode::stop:
- {
- break;
- }
- case ::cli::unknown_mode::fail:
- {
- throw ::cli::unknown_argument (o);
- }
- }
-
- break;
- }
-
- return r;
- }
- }
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
-
diff --git a/xsd/pregenerated/xsd/cxx/tree/options.hxx b/xsd/pregenerated/xsd/cxx/tree/options.hxx
deleted file mode 100644
index f5a808c..0000000
--- a/xsd/pregenerated/xsd/cxx/tree/options.hxx
+++ /dev/null
@@ -1,414 +0,0 @@
-// -*- 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
diff --git a/xsd/pregenerated/xsd/cxx/tree/options.ixx b/xsd/pregenerated/xsd/cxx/tree/options.ixx
deleted file mode 100644
index 4d34fd9..0000000
--- a/xsd/pregenerated/xsd/cxx/tree/options.ixx
+++ /dev/null
@@ -1,504 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-//
-// End prologue.
-
-namespace CXX
-{
- namespace Tree
- {
- // options
- //
-
- inline const bool& options::
- generate_polymorphic () const
- {
- return this->generate_polymorphic_;
- }
-
- inline const NarrowStrings& options::
- polymorphic_type () const
- {
- return this->polymorphic_type_;
- }
-
- inline bool options::
- polymorphic_type_specified () const
- {
- return this->polymorphic_type_specified_;
- }
-
- inline const bool& options::
- polymorphic_type_all () const
- {
- return this->polymorphic_type_all_;
- }
-
- inline const unsigned long& options::
- polymorphic_plate () const
- {
- return this->polymorphic_plate_;
- }
-
- inline bool options::
- polymorphic_plate_specified () const
- {
- return this->polymorphic_plate_specified_;
- }
-
- inline const NarrowStrings& options::
- ordered_type () const
- {
- return this->ordered_type_;
- }
-
- inline bool options::
- ordered_type_specified () const
- {
- return this->ordered_type_specified_;
- }
-
- inline const bool& options::
- ordered_type_derived () const
- {
- return this->ordered_type_derived_;
- }
-
- inline const bool& options::
- ordered_type_mixed () const
- {
- return this->ordered_type_mixed_;
- }
-
- inline const bool& options::
- ordered_type_all () const
- {
- return this->ordered_type_all_;
- }
-
- inline const NarrowString& options::
- order_container () const
- {
- return this->order_container_;
- }
-
- inline bool options::
- order_container_specified () const
- {
- return this->order_container_specified_;
- }
-
- inline const bool& options::
- generate_serialization () const
- {
- return this->generate_serialization_;
- }
-
- inline const bool& options::
- generate_ostream () const
- {
- return this->generate_ostream_;
- }
-
- inline const bool& options::
- generate_doxygen () const
- {
- return this->generate_doxygen_;
- }
-
- inline const bool& options::
- generate_comparison () const
- {
- return this->generate_comparison_;
- }
-
- inline const bool& options::
- generate_default_ctor () const
- {
- return this->generate_default_ctor_;
- }
-
- inline const bool& options::
- generate_from_base_ctor () const
- {
- return this->generate_from_base_ctor_;
- }
-
- inline const bool& options::
- suppress_assignment () const
- {
- return this->suppress_assignment_;
- }
-
- inline const bool& options::
- generate_detach () const
- {
- return this->generate_detach_;
- }
-
- inline const bool& options::
- generate_wildcard () const
- {
- return this->generate_wildcard_;
- }
-
- inline const bool& options::
- generate_any_type () const
- {
- return this->generate_any_type_;
- }
-
- inline const NarrowStrings& options::
- generate_insertion () const
- {
- return this->generate_insertion_;
- }
-
- inline bool options::
- generate_insertion_specified () const
- {
- return this->generate_insertion_specified_;
- }
-
- inline const NarrowStrings& options::
- generate_extraction () const
- {
- return this->generate_extraction_;
- }
-
- inline bool options::
- generate_extraction_specified () const
- {
- return this->generate_extraction_specified_;
- }
-
- inline const bool& options::
- generate_forward () const
- {
- return this->generate_forward_;
- }
-
- inline const bool& options::
- suppress_parsing () const
- {
- return this->suppress_parsing_;
- }
-
- inline const bool& options::
- generate_element_type () const
- {
- return this->generate_element_type_;
- }
-
- inline const bool& options::
- generate_element_map () const
- {
- return this->generate_element_map_;
- }
-
- inline const bool& options::
- generate_intellisense () const
- {
- return this->generate_intellisense_;
- }
-
- inline const bool& options::
- omit_default_attributes () const
- {
- return this->omit_default_attributes_;
- }
-
- inline const NarrowString& options::
- type_naming () const
- {
- return this->type_naming_;
- }
-
- inline bool options::
- type_naming_specified () const
- {
- return this->type_naming_specified_;
- }
-
- inline const NarrowString& options::
- function_naming () const
- {
- return this->function_naming_;
- }
-
- inline bool options::
- function_naming_specified () const
- {
- return this->function_naming_specified_;
- }
-
- inline const NarrowStrings& options::
- type_regex () const
- {
- return this->type_regex_;
- }
-
- inline bool options::
- type_regex_specified () const
- {
- return this->type_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- accessor_regex () const
- {
- return this->accessor_regex_;
- }
-
- inline bool options::
- accessor_regex_specified () const
- {
- return this->accessor_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- one_accessor_regex () const
- {
- return this->one_accessor_regex_;
- }
-
- inline bool options::
- one_accessor_regex_specified () const
- {
- return this->one_accessor_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- opt_accessor_regex () const
- {
- return this->opt_accessor_regex_;
- }
-
- inline bool options::
- opt_accessor_regex_specified () const
- {
- return this->opt_accessor_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- seq_accessor_regex () const
- {
- return this->seq_accessor_regex_;
- }
-
- inline bool options::
- seq_accessor_regex_specified () const
- {
- return this->seq_accessor_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- modifier_regex () const
- {
- return this->modifier_regex_;
- }
-
- inline bool options::
- modifier_regex_specified () const
- {
- return this->modifier_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- one_modifier_regex () const
- {
- return this->one_modifier_regex_;
- }
-
- inline bool options::
- one_modifier_regex_specified () const
- {
- return this->one_modifier_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- opt_modifier_regex () const
- {
- return this->opt_modifier_regex_;
- }
-
- inline bool options::
- opt_modifier_regex_specified () const
- {
- return this->opt_modifier_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- seq_modifier_regex () const
- {
- return this->seq_modifier_regex_;
- }
-
- inline bool options::
- seq_modifier_regex_specified () const
- {
- return this->seq_modifier_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- parser_regex () const
- {
- return this->parser_regex_;
- }
-
- inline bool options::
- parser_regex_specified () const
- {
- return this->parser_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- serializer_regex () const
- {
- return this->serializer_regex_;
- }
-
- inline bool options::
- serializer_regex_specified () const
- {
- return this->serializer_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- const_regex () const
- {
- return this->const_regex_;
- }
-
- inline bool options::
- const_regex_specified () const
- {
- return this->const_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- enumerator_regex () const
- {
- return this->enumerator_regex_;
- }
-
- inline bool options::
- enumerator_regex_specified () const
- {
- return this->enumerator_regex_specified_;
- }
-
- inline const NarrowStrings& options::
- element_type_regex () const
- {
- return this->element_type_regex_;
- }
-
- inline bool options::
- element_type_regex_specified () const
- {
- return this->element_type_regex_specified_;
- }
-
- inline const bool& options::
- name_regex_trace () const
- {
- return this->name_regex_trace_;
- }
-
- inline const bool& options::
- root_element_first () const
- {
- return this->root_element_first_;
- }
-
- inline const bool& options::
- root_element_last () const
- {
- return this->root_element_last_;
- }
-
- inline const bool& options::
- root_element_all () const
- {
- return this->root_element_all_;
- }
-
- inline const bool& options::
- root_element_none () const
- {
- return this->root_element_none_;
- }
-
- inline const NarrowStrings& options::
- root_element () const
- {
- return this->root_element_;
- }
-
- inline bool options::
- root_element_specified () const
- {
- return this->root_element_specified_;
- }
-
- inline const NarrowStrings& options::
- custom_type () const
- {
- return this->custom_type_;
- }
-
- inline bool options::
- custom_type_specified () const
- {
- return this->custom_type_specified_;
- }
-
- inline const NarrowStrings& options::
- custom_type_regex () const
- {
- return this->custom_type_regex_;
- }
-
- inline bool options::
- custom_type_regex_specified () const
- {
- return this->custom_type_regex_specified_;
- }
-
- inline const std::size_t& options::
- parts () const
- {
- return this->parts_;
- }
-
- inline bool options::
- parts_specified () const
- {
- return this->parts_specified_;
- }
-
- inline const NarrowString& options::
- parts_suffix () const
- {
- return this->parts_suffix_;
- }
-
- inline bool options::
- parts_suffix_specified () const
- {
- return this->parts_suffix_specified_;
- }
- }
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
diff --git a/xsd/pregenerated/xsd/options.cxx b/xsd/pregenerated/xsd/options.cxx
deleted file mode 100644
index 3022ec4..0000000
--- a/xsd/pregenerated/xsd/options.cxx
+++ /dev/null
@@ -1,1297 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-#include <xsd/options-parser.hxx>
-//
-// End prologue.
-
-#include <xsd/options.hxx>
-
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-#include <utility>
-#include <ostream>
-#include <sstream>
-#include <cstring>
-#include <fstream>
-
-namespace cli
-{
- // unknown_option
- //
- unknown_option::
- ~unknown_option () noexcept
- {
- }
-
- void unknown_option::
- print (::std::wostream& os) const
- {
- os << "unknown option '" << option ().c_str () << "'";
- }
-
- const char* unknown_option::
- what () const noexcept
- {
- return "unknown option";
- }
-
- // unknown_argument
- //
- unknown_argument::
- ~unknown_argument () noexcept
- {
- }
-
- void unknown_argument::
- print (::std::wostream& os) const
- {
- os << "unknown argument '" << argument ().c_str () << "'";
- }
-
- const char* unknown_argument::
- what () const noexcept
- {
- return "unknown argument";
- }
-
- // missing_value
- //
- missing_value::
- ~missing_value () noexcept
- {
- }
-
- void missing_value::
- print (::std::wostream& os) const
- {
- os << "missing value for option '" << option ().c_str () << "'";
- }
-
- const char* missing_value::
- what () const noexcept
- {
- return "missing option value";
- }
-
- // invalid_value
- //
- invalid_value::
- ~invalid_value () noexcept
- {
- }
-
- void invalid_value::
- print (::std::wostream& os) const
- {
- os << "invalid value '" << value ().c_str () << "' for option '"
- << option ().c_str () << "'";
-
- if (!message ().empty ())
- os << ": " << message ().c_str ();
- }
-
- const char* invalid_value::
- what () const noexcept
- {
- return "invalid option value";
- }
-
- // eos_reached
- //
- void eos_reached::
- print (::std::wostream& os) const
- {
- os << what ();
- }
-
- const char* eos_reached::
- what () const noexcept
- {
- return "end of argument stream reached";
- }
-
- // file_io_failure
- //
- file_io_failure::
- ~file_io_failure () noexcept
- {
- }
-
- void file_io_failure::
- print (::std::wostream& os) const
- {
- os << "unable to open file '" << file ().c_str () << "' or read failure";
- }
-
- const char* file_io_failure::
- what () const noexcept
- {
- return "unable to open file or read failure";
- }
-
- // unmatched_quote
- //
- unmatched_quote::
- ~unmatched_quote () noexcept
- {
- }
-
- void unmatched_quote::
- print (::std::wostream& os) const
- {
- os << "unmatched quote in argument '" << argument ().c_str () << "'";
- }
-
- const char* unmatched_quote::
- what () const noexcept
- {
- return "unmatched quote";
- }
-
- // scanner
- //
- scanner::
- ~scanner ()
- {
- }
-
- // argv_scanner
- //
- bool argv_scanner::
- more ()
- {
- return i_ < argc_;
- }
-
- const char* argv_scanner::
- peek ()
- {
- if (i_ < argc_)
- return argv_[i_];
- else
- throw eos_reached ();
- }
-
- const char* argv_scanner::
- next ()
- {
- if (i_ < argc_)
- {
- const char* r (argv_[i_]);
-
- if (erase_)
- {
- for (int i (i_ + 1); i < argc_; ++i)
- argv_[i - 1] = argv_[i];
-
- --argc_;
- argv_[argc_] = 0;
- }
- else
- ++i_;
-
- ++start_position_;
- return r;
- }
- else
- throw eos_reached ();
- }
-
- void argv_scanner::
- skip ()
- {
- if (i_ < argc_)
- {
- ++i_;
- ++start_position_;
- }
- else
- throw eos_reached ();
- }
-
- std::size_t argv_scanner::
- position ()
- {
- return start_position_;
- }
-
- // argv_file_scanner
- //
- int argv_file_scanner::zero_argc_ = 0;
- std::string argv_file_scanner::empty_string_;
-
- bool argv_file_scanner::
- more ()
- {
- if (!args_.empty ())
- return true;
-
- while (base::more ())
- {
- // See if the next argument is the file option.
- //
- const char* a (base::peek ());
- const option_info* oi = 0;
- const char* ov = 0;
-
- if (!skip_)
- {
- if ((oi = find (a)) != 0)
- {
- base::next ();
-
- if (!base::more ())
- throw missing_value (a);
-
- ov = base::next ();
- }
- else if (std::strncmp (a, "-", 1) == 0)
- {
- if ((ov = std::strchr (a, '=')) != 0)
- {
- std::string o (a, 0, ov - a);
- if ((oi = find (o.c_str ())) != 0)
- {
- base::next ();
- ++ov;
- }
- }
- }
- }
-
- if (oi != 0)
- {
- if (oi->search_func != 0)
- {
- std::string f (oi->search_func (ov, oi->arg));
-
- if (!f.empty ())
- load (f);
- }
- else
- load (ov);
-
- if (!args_.empty ())
- return true;
- }
- else
- {
- if (!skip_)
- skip_ = (std::strcmp (a, "--") == 0);
-
- return true;
- }
- }
-
- return false;
- }
-
- const char* argv_file_scanner::
- peek ()
- {
- if (!more ())
- throw eos_reached ();
-
- return args_.empty () ? base::peek () : args_.front ().value.c_str ();
- }
-
- const std::string& argv_file_scanner::
- peek_file ()
- {
- if (!more ())
- throw eos_reached ();
-
- return args_.empty () ? empty_string_ : *args_.front ().file;
- }
-
- std::size_t argv_file_scanner::
- peek_line ()
- {
- if (!more ())
- throw eos_reached ();
-
- return args_.empty () ? 0 : args_.front ().line;
- }
-
- const char* argv_file_scanner::
- next ()
- {
- if (!more ())
- throw eos_reached ();
-
- if (args_.empty ())
- return base::next ();
- else
- {
- hold_[i_ == 0 ? ++i_ : --i_].swap (args_.front ().value);
- args_.pop_front ();
- ++start_position_;
- return hold_[i_].c_str ();
- }
- }
-
- void argv_file_scanner::
- skip ()
- {
- if (!more ())
- throw eos_reached ();
-
- if (args_.empty ())
- return base::skip ();
- else
- {
- args_.pop_front ();
- ++start_position_;
- }
- }
-
- const argv_file_scanner::option_info* argv_file_scanner::
- find (const char* a) const
- {
- for (std::size_t i (0); i < options_count_; ++i)
- if (std::strcmp (a, options_[i].option) == 0)
- return &options_[i];
-
- return 0;
- }
-
- std::size_t argv_file_scanner::
- position ()
- {
- return start_position_;
- }
-
- void argv_file_scanner::
- load (const std::string& file)
- {
- using namespace std;
-
- ifstream is (file.c_str ());
-
- if (!is.is_open ())
- throw file_io_failure (file);
-
- files_.push_back (file);
-
- arg a;
- a.file = &*files_.rbegin ();
-
- for (a.line = 1; !is.eof (); ++a.line)
- {
- string line;
- getline (is, line);
-
- if (is.fail () && !is.eof ())
- throw file_io_failure (file);
-
- string::size_type n (line.size ());
-
- // Trim the line from leading and trailing whitespaces.
- //
- if (n != 0)
- {
- const char* f (line.c_str ());
- const char* l (f + n);
-
- const char* of (f);
- while (f < l && (*f == ' ' || *f == '\t' || *f == '\r'))
- ++f;
-
- --l;
-
- const char* ol (l);
- while (l > f && (*l == ' ' || *l == '\t' || *l == '\r'))
- --l;
-
- if (f != of || l != ol)
- line = f <= l ? string (f, l - f + 1) : string ();
- }
-
- // Ignore empty lines, those that start with #.
- //
- if (line.empty () || line[0] == '#')
- continue;
-
- string::size_type p (string::npos);
- if (line.compare (0, 1, "-") == 0)
- {
- p = line.find (' ');
-
- string::size_type q (line.find ('='));
- if (q != string::npos && q < p)
- p = q;
- }
-
- string s1;
- if (p != string::npos)
- {
- s1.assign (line, 0, p);
-
- // Skip leading whitespaces in the argument.
- //
- if (line[p] == '=')
- ++p;
- else
- {
- n = line.size ();
- for (++p; p < n; ++p)
- {
- char c (line[p]);
- if (c != ' ' && c != '\t' && c != '\r')
- break;
- }
- }
- }
- else if (!skip_)
- skip_ = (line == "--");
-
- string s2 (line, p != string::npos ? p : 0);
-
- // If the string (which is an option value or argument) is
- // wrapped in quotes, remove them.
- //
- n = s2.size ();
- char cf (s2[0]), cl (s2[n - 1]);
-
- if (cf == '"' || cf == '\'' || cl == '"' || cl == '\'')
- {
- if (n == 1 || cf != cl)
- throw unmatched_quote (s2);
-
- s2 = string (s2, 1, n - 2);
- }
-
- if (!s1.empty ())
- {
- // See if this is another file option.
- //
- const option_info* oi;
- if (!skip_ && (oi = find (s1.c_str ())))
- {
- if (s2.empty ())
- throw missing_value (oi->option);
-
- if (oi->search_func != 0)
- {
- string f (oi->search_func (s2.c_str (), oi->arg));
- if (!f.empty ())
- load (f);
- }
- else
- {
- // If the path of the file being parsed is not simple and the
- // path of the file that needs to be loaded is relative, then
- // complete the latter using the former as a base.
- //
-#ifndef _WIN32
- string::size_type p (file.find_last_of ('/'));
- bool c (p != string::npos && s2[0] != '/');
-#else
- string::size_type p (file.find_last_of ("/\\"));
- bool c (p != string::npos && s2[1] != ':');
-#endif
- if (c)
- s2.insert (0, file, 0, p + 1);
-
- load (s2);
- }
-
- continue;
- }
-
- a.value = s1;
- args_.push_back (a);
- }
-
- a.value = s2;
- args_.push_back (a);
- }
- }
-
- template <typename X>
- struct parser
- {
- static void
- parse (X& x, bool& xs, scanner& s)
- {
- using namespace std;
-
- const char* o (s.next ());
- if (s.more ())
- {
- string v (s.next ());
- istringstream is (v);
- if (!(is >> x && is.peek () == istringstream::traits_type::eof ()))
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<bool>
- {
- static void
- parse (bool& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- const char* v (s.next ());
-
- if (std::strcmp (v, "1") == 0 ||
- std::strcmp (v, "true") == 0 ||
- std::strcmp (v, "TRUE") == 0 ||
- std::strcmp (v, "True") == 0)
- x = true;
- else if (std::strcmp (v, "0") == 0 ||
- std::strcmp (v, "false") == 0 ||
- std::strcmp (v, "FALSE") == 0 ||
- std::strcmp (v, "False") == 0)
- x = false;
- else
- throw invalid_value (o, v);
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <>
- struct parser<std::string>
- {
- static void
- parse (std::string& x, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- x = s.next ();
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X>
- struct parser<std::pair<X, std::size_t> >
- {
- static void
- parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s)
- {
- x.second = s.position ();
- parser<X>::parse (x.first, xs, s);
- }
- };
-
- template <typename X>
- struct parser<std::vector<X> >
- {
- static void
- parse (std::vector<X>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.push_back (x);
- xs = true;
- }
- };
-
- template <typename X, typename C>
- struct parser<std::set<X, C> >
- {
- static void
- parse (std::set<X, C>& c, bool& xs, scanner& s)
- {
- X x;
- bool dummy;
- parser<X>::parse (x, dummy, s);
- c.insert (x);
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::map<K, V, C> >
- {
- static void
- parse (std::map<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m[k] = v;
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename K, typename V, typename C>
- struct parser<std::multimap<K, V, C> >
- {
- static void
- parse (std::multimap<K, V, C>& m, bool& xs, scanner& s)
- {
- const char* o (s.next ());
-
- if (s.more ())
- {
- std::size_t pos (s.position ());
- std::string ov (s.next ());
- std::string::size_type p = ov.find ('=');
-
- K k = K ();
- V v = V ();
- std::string kstr (ov, 0, p);
- std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ()));
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (o),
- 0
- };
-
- bool dummy;
- if (!kstr.empty ())
- {
- av[1] = const_cast<char*> (kstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<K>::parse (k, dummy, s);
- }
-
- if (!vstr.empty ())
- {
- av[1] = const_cast<char*> (vstr.c_str ());
- argv_scanner s (0, ac, av, false, pos);
- parser<V>::parse (v, dummy, s);
- }
-
- m.insert (typename std::multimap<K, V, C>::value_type (k, v));
- }
- else
- throw missing_value (o);
-
- xs = true;
- }
- };
-
- template <typename X, typename T, T X::*M>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, s);
- }
-
- template <typename X, bool X::*M>
- void
- thunk (X& x, scanner& s)
- {
- s.next ();
- x.*M = true;
- }
-
- template <typename X, typename T, T X::*M, bool X::*S>
- void
- thunk (X& x, scanner& s)
- {
- parser<T>::parse (x.*M, x.*S, s);
- }
-}
-
-#include <map>
-
-// help_options
-//
-
-help_options::
-help_options ()
-: build2_metadata_ (),
- build2_metadata_specified_ (false),
- help_ (),
- version_ (),
- proprietary_license_ ()
-{
-}
-
-help_options::
-help_options (int& argc,
- char** argv,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
-: build2_metadata_ (),
- build2_metadata_specified_ (false),
- help_ (),
- version_ (),
- proprietary_license_ ()
-{
- ::cli::argv_scanner s (argc, argv, erase);
- _parse (s, opt, arg);
-}
-
-help_options::
-help_options (int start,
- int& argc,
- char** argv,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
-: build2_metadata_ (),
- build2_metadata_specified_ (false),
- help_ (),
- version_ (),
- proprietary_license_ ()
-{
- ::cli::argv_scanner s (start, argc, argv, erase);
- _parse (s, opt, arg);
-}
-
-help_options::
-help_options (int& argc,
- char** argv,
- int& end,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
-: build2_metadata_ (),
- build2_metadata_specified_ (false),
- help_ (),
- version_ (),
- proprietary_license_ ()
-{
- ::cli::argv_scanner s (argc, argv, erase);
- _parse (s, opt, arg);
- end = s.end ();
-}
-
-help_options::
-help_options (int start,
- int& argc,
- char** argv,
- int& end,
- bool erase,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
-: build2_metadata_ (),
- build2_metadata_specified_ (false),
- help_ (),
- version_ (),
- proprietary_license_ ()
-{
- ::cli::argv_scanner s (start, argc, argv, erase);
- _parse (s, opt, arg);
- end = s.end ();
-}
-
-help_options::
-help_options (::cli::scanner& s,
- ::cli::unknown_mode opt,
- ::cli::unknown_mode arg)
-: build2_metadata_ (),
- build2_metadata_specified_ (false),
- help_ (),
- version_ (),
- proprietary_license_ ()
-{
- _parse (s, opt, arg);
-}
-
-::cli::usage_para help_options::
-print_usage (::std::wostream& os, ::cli::usage_para p)
-{
- CLI_POTENTIALLY_UNUSED (os);
-
- return p;
-}
-
-typedef
-std::map<std::string, void (*) (help_options&, ::cli::scanner&)>
-_cli_help_options_map;
-
-static _cli_help_options_map _cli_help_options_map_;
-
-struct _cli_help_options_map_init
-{
- _cli_help_options_map_init ()
- {
- _cli_help_options_map_["--build2-metadata"] =
- &::cli::thunk< help_options, std::uint64_t, &help_options::build2_metadata_,
- &help_options::build2_metadata_specified_ >;
- _cli_help_options_map_["--help"] =
- &::cli::thunk< help_options, &help_options::help_ >;
- _cli_help_options_map_["--version"] =
- &::cli::thunk< help_options, &help_options::version_ >;
- _cli_help_options_map_["--proprietary-license"] =
- &::cli::thunk< help_options, &help_options::proprietary_license_ >;
- }
-};
-
-static _cli_help_options_map_init _cli_help_options_map_init_;
-
-bool help_options::
-_parse (const char* o, ::cli::scanner& s)
-{
- _cli_help_options_map::const_iterator i (_cli_help_options_map_.find (o));
-
- if (i != _cli_help_options_map_.end ())
- {
- (*(i->second)) (*this, s);
- return true;
- }
-
- return false;
-}
-
-bool help_options::
-_parse (::cli::scanner& s,
- ::cli::unknown_mode opt_mode,
- ::cli::unknown_mode arg_mode)
-{
- // Can't skip combined flags (--no-combined-flags).
- //
- assert (opt_mode != ::cli::unknown_mode::skip);
-
- bool r = false;
- bool opt = true;
-
- while (s.more ())
- {
- const char* o = s.peek ();
-
- if (std::strcmp (o, "--") == 0)
- {
- opt = false;
- s.skip ();
- r = true;
- continue;
- }
-
- if (opt)
- {
- if (_parse (o, s))
- {
- r = true;
- continue;
- }
-
- if (std::strncmp (o, "-", 1) == 0 && o[1] != '\0')
- {
- // Handle combined option values.
- //
- std::string co;
- if (const char* v = std::strchr (o, '='))
- {
- co.assign (o, 0, v - o);
- ++v;
-
- int ac (2);
- char* av[] =
- {
- const_cast<char*> (co.c_str ()),
- const_cast<char*> (v)
- };
-
- ::cli::argv_scanner ns (0, ac, av);
-
- if (_parse (co.c_str (), ns))
- {
- // Parsed the option but not its value?
- //
- if (ns.end () != 2)
- throw ::cli::invalid_value (co, v);
-
- s.next ();
- r = true;
- continue;
- }
- else
- {
- // Set the unknown option and fall through.
- //
- o = co.c_str ();
- }
- }
-
- // Handle combined flags.
- //
- char cf[3];
- {
- const char* p = o + 1;
- for (; *p != '\0'; ++p)
- {
- if (!((*p >= 'a' && *p <= 'z') ||
- (*p >= 'A' && *p <= 'Z') ||
- (*p >= '0' && *p <= '9')))
- break;
- }
-
- if (*p == '\0')
- {
- for (p = o + 1; *p != '\0'; ++p)
- {
- std::strcpy (cf, "-");
- cf[1] = *p;
- cf[2] = '\0';
-
- int ac (1);
- char* av[] =
- {
- cf
- };
-
- ::cli::argv_scanner ns (0, ac, av);
-
- if (!_parse (cf, ns))
- break;
- }
-
- if (*p == '\0')
- {
- // All handled.
- //
- s.next ();
- r = true;
- continue;
- }
- else
- {
- // Set the unknown option and fall through.
- //
- o = cf;
- }
- }
- }
-
- switch (opt_mode)
- {
- case ::cli::unknown_mode::skip:
- {
- s.skip ();
- r = true;
- continue;
- }
- case ::cli::unknown_mode::stop:
- {
- break;
- }
- case ::cli::unknown_mode::fail:
- {
- throw ::cli::unknown_option (o);
- }
- }
-
- break;
- }
- }
-
- switch (arg_mode)
- {
- case ::cli::unknown_mode::skip:
- {
- s.skip ();
- r = true;
- continue;
- }
- case ::cli::unknown_mode::stop:
- {
- break;
- }
- case ::cli::unknown_mode::fail:
- {
- throw ::cli::unknown_argument (o);
- }
- }
-
- break;
- }
-
- return r;
-}
-
-// options
-//
-
-options::
-options ()
-: disable_warning_ (),
- disable_warning_specified_ (false),
- options_file_ (),
- options_file_specified_ (false),
- show_sloc_ (),
- sloc_limit_ (),
- sloc_limit_specified_ (false),
- proprietary_license_ (),
- custom_literals_ (),
- custom_literals_specified_ (false),
- preserve_anonymous_ (),
- show_anonymous_ (),
- anonymous_regex_ (),
- anonymous_regex_specified_ (false),
- anonymous_regex_trace_ (),
- morph_anonymous_ (),
- location_map_ (),
- location_map_specified_ (false),
- location_regex_ (),
- location_regex_specified_ (false),
- location_regex_trace_ (),
- file_per_type_ (),
- type_file_regex_ (),
- type_file_regex_specified_ (false),
- type_file_regex_trace_ (),
- schema_file_regex_ (),
- schema_file_regex_specified_ (false),
- schema_file_regex_trace_ (),
- fat_type_file_ (),
- file_list_ (),
- file_list_specified_ (false),
- file_list_only_ (),
- file_list_prologue_ (),
- file_list_prologue_specified_ (false),
- file_list_epilogue_ (),
- file_list_epilogue_specified_ (false),
- file_list_delim_ ("\n"),
- file_list_delim_specified_ (false),
- disable_multi_import_ (),
- disable_full_check_ ()
-{
-}
-
-::cli::usage_para options::
-print_usage (::std::wostream& os, ::cli::usage_para p)
-{
- CLI_POTENTIALLY_UNUSED (os);
-
- if (p == ::cli::usage_para::text)
- os << ::std::endl;
-
- os << "--disable-warning <warn> Disable printing warning with id <warn>." << ::std::endl;
-
- os << "--options-file <file> Read additional options from <file>." << ::std::endl;
-
- os << "--show-sloc Show the number of generated physical source lines" << ::std::endl
- << " of code (SLOC)." << ::std::endl;
-
- os << "--sloc-limit <num> Check that the number of generated physical source" << ::std::endl
- << " lines of code (SLOC) does not exceed <num>." << ::std::endl;
-
- os << "--proprietary-license Indicate that the generated code is licensed under" << ::std::endl
- << " a proprietary license instead of the GPL." << ::std::endl;
-
- os << "--custom-literals <file> Load custom XML string to C++ literal mappings" << ::std::endl
- << " from <file>." << ::std::endl;
-
- os << "--preserve-anonymous Preserve anonymous types." << ::std::endl;
-
- os << "--show-anonymous Show elements and attributes that are of anonymous" << ::std::endl
- << " types." << ::std::endl;
-
- os << "--anonymous-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to derive names for anonymous types from the" << ::std::endl
- << " enclosing attributes/elements." << ::std::endl;
-
- os << "--anonymous-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the --anonymous-regex option." << ::std::endl;
-
- os << "--location-map <ol>=<nl> Map the original schema location <ol> that is" << ::std::endl
- << " specified in the XML Schema include or import" << ::std::endl
- << " elements to new schema location <nl>." << ::std::endl;
-
- os << "--location-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to map schema locations that are specified in" << ::std::endl
- << " the XML Schema include or import elements." << ::std::endl;
-
- os << "--location-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the --location-regex option." << ::std::endl;
-
- os << "--file-per-type Generate a separate set of C++ files for each type" << ::std::endl
- << " defined in XML Schema." << ::std::endl;
-
- os << "--type-file-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate type names to file names when" << ::std::endl
- << " the --file-per-type option is specified." << ::std::endl;
-
- os << "--type-file-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the --type-file-regex option." << ::std::endl;
-
- os << "--schema-file-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
- << " used to translate schema file names when the" << ::std::endl
- << " --file-per-type option is specified." << ::std::endl;
-
- os << "--schema-file-regex-trace Trace the process of applying regular expressions" << ::std::endl
- << " specified with the --schema-file-regex option." << ::std::endl;
-
- os << "--fat-type-file Generate code corresponding to global elements" << ::std::endl
- << " into type files instead of schema files when the" << ::std::endl
- << " --type-file-regex option is specified." << ::std::endl;
-
- os << "--file-list <file> Write a list of generated C++ files to <file> or" << ::std::endl
- << " to stdout if <file> is -." << ::std::endl;
-
- os << "--file-list-only Only write the list of C++ files that would be" << ::std::endl
- << " generated without actually generating them." << ::std::endl;
-
- os << "--file-list-prologue <text> Insert <text> at the beginning of the file list." << ::std::endl;
-
- os << "--file-list-epilogue <text> Insert <text> at the end of the file list." << ::std::endl;
-
- os << "--file-list-delim <text> Delimit file names written to the file list with" << ::std::endl
- << " <text> instead of new lines." << ::std::endl;
-
- p = ::cli::usage_para::option;
-
- return p;
-}
-
-typedef
-std::map<std::string, void (*) (options&, ::cli::scanner&)>
-_cli_options_map;
-
-static _cli_options_map _cli_options_map_;
-
-struct _cli_options_map_init
-{
- _cli_options_map_init ()
- {
- _cli_options_map_["--disable-warning"] =
- &::cli::thunk< options, NarrowStrings, &options::disable_warning_,
- &options::disable_warning_specified_ >;
- _cli_options_map_["--options-file"] =
- &::cli::thunk< options, std::string, &options::options_file_,
- &options::options_file_specified_ >;
- _cli_options_map_["--show-sloc"] =
- &::cli::thunk< options, &options::show_sloc_ >;
- _cli_options_map_["--sloc-limit"] =
- &::cli::thunk< options, std::size_t, &options::sloc_limit_,
- &options::sloc_limit_specified_ >;
- _cli_options_map_["--proprietary-license"] =
- &::cli::thunk< options, &options::proprietary_license_ >;
- _cli_options_map_["--custom-literals"] =
- &::cli::thunk< options, NarrowString, &options::custom_literals_,
- &options::custom_literals_specified_ >;
- _cli_options_map_["--preserve-anonymous"] =
- &::cli::thunk< options, &options::preserve_anonymous_ >;
- _cli_options_map_["--show-anonymous"] =
- &::cli::thunk< options, &options::show_anonymous_ >;
- _cli_options_map_["--anonymous-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::anonymous_regex_,
- &options::anonymous_regex_specified_ >;
- _cli_options_map_["--anonymous-regex-trace"] =
- &::cli::thunk< options, &options::anonymous_regex_trace_ >;
- _cli_options_map_["--morph-anonymous"] =
- &::cli::thunk< options, &options::morph_anonymous_ >;
- _cli_options_map_["--location-map"] =
- &::cli::thunk< options, NarrowStrings, &options::location_map_,
- &options::location_map_specified_ >;
- _cli_options_map_["--location-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::location_regex_,
- &options::location_regex_specified_ >;
- _cli_options_map_["--location-regex-trace"] =
- &::cli::thunk< options, &options::location_regex_trace_ >;
- _cli_options_map_["--file-per-type"] =
- &::cli::thunk< options, &options::file_per_type_ >;
- _cli_options_map_["--type-file-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::type_file_regex_,
- &options::type_file_regex_specified_ >;
- _cli_options_map_["--type-file-regex-trace"] =
- &::cli::thunk< options, &options::type_file_regex_trace_ >;
- _cli_options_map_["--schema-file-regex"] =
- &::cli::thunk< options, NarrowStrings, &options::schema_file_regex_,
- &options::schema_file_regex_specified_ >;
- _cli_options_map_["--schema-file-regex-trace"] =
- &::cli::thunk< options, &options::schema_file_regex_trace_ >;
- _cli_options_map_["--fat-type-file"] =
- &::cli::thunk< options, &options::fat_type_file_ >;
- _cli_options_map_["--file-list"] =
- &::cli::thunk< options, NarrowString, &options::file_list_,
- &options::file_list_specified_ >;
- _cli_options_map_["--file-list-only"] =
- &::cli::thunk< options, &options::file_list_only_ >;
- _cli_options_map_["--file-list-prologue"] =
- &::cli::thunk< options, NarrowString, &options::file_list_prologue_,
- &options::file_list_prologue_specified_ >;
- _cli_options_map_["--file-list-epilogue"] =
- &::cli::thunk< options, NarrowString, &options::file_list_epilogue_,
- &options::file_list_epilogue_specified_ >;
- _cli_options_map_["--file-list-delim"] =
- &::cli::thunk< options, NarrowString, &options::file_list_delim_,
- &options::file_list_delim_specified_ >;
- _cli_options_map_["--disable-multi-import"] =
- &::cli::thunk< options, &options::disable_multi_import_ >;
- _cli_options_map_["--disable-full-check"] =
- &::cli::thunk< options, &options::disable_full_check_ >;
- }
-};
-
-static _cli_options_map_init _cli_options_map_init_;
-
-bool options::
-_parse (const char* o, ::cli::scanner& s)
-{
- _cli_options_map::const_iterator i (_cli_options_map_.find (o));
-
- if (i != _cli_options_map_.end ())
- {
- (*(i->second)) (*this, s);
- return true;
- }
-
- return false;
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.
-
diff --git a/xsd/pregenerated/xsd/options.hxx b/xsd/pregenerated/xsd/options.hxx
deleted file mode 100644
index 0f4383c..0000000
--- a/xsd/pregenerated/xsd/options.hxx
+++ /dev/null
@@ -1,702 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-#ifndef XSD_OPTIONS_HXX
-#define XSD_OPTIONS_HXX
-
-// Begin prologue.
-//
-//
-// End prologue.
-
-#include <list>
-#include <deque>
-#include <iosfwd>
-#include <string>
-#include <cstddef>
-#include <exception>
-
-#ifndef CLI_POTENTIALLY_UNUSED
-# if defined(_MSC_VER) || defined(__xlC__)
-# define CLI_POTENTIALLY_UNUSED(x) (void*)&x
-# else
-# define CLI_POTENTIALLY_UNUSED(x) (void)x
-# endif
-#endif
-
-namespace cli
-{
- class usage_para
- {
- public:
- enum value
- {
- none,
- text,
- option
- };
-
- usage_para (value);
-
- operator value () const
- {
- return v_;
- }
-
- private:
- value v_;
- };
-
- class unknown_mode
- {
- public:
- enum value
- {
- skip,
- stop,
- fail
- };
-
- unknown_mode (value);
-
- operator value () const
- {
- return v_;
- }
-
- private:
- value v_;
- };
-
- // Exceptions.
- //
-
- class exception: public std::exception
- {
- public:
- virtual void
- print (::std::wostream&) const = 0;
- };
-
- ::std::wostream&
- operator<< (::std::wostream&, const exception&);
-
- class unknown_option: public exception
- {
- public:
- virtual
- ~unknown_option () noexcept;
-
- unknown_option (const std::string& option);
-
- const std::string&
- option () const;
-
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
-
- private:
- std::string option_;
- };
-
- class unknown_argument: public exception
- {
- public:
- virtual
- ~unknown_argument () noexcept;
-
- unknown_argument (const std::string& argument);
-
- const std::string&
- argument () const;
-
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
-
- private:
- std::string argument_;
- };
-
- class missing_value: public exception
- {
- public:
- virtual
- ~missing_value () noexcept;
-
- missing_value (const std::string& option);
-
- const std::string&
- option () const;
-
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
-
- private:
- std::string option_;
- };
-
- class invalid_value: public exception
- {
- public:
- virtual
- ~invalid_value () noexcept;
-
- invalid_value (const std::string& option,
- const std::string& value,
- const std::string& message = std::string ());
-
- const std::string&
- option () const;
-
- const std::string&
- value () const;
-
- const std::string&
- message () const;
-
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
-
- private:
- std::string option_;
- std::string value_;
- std::string message_;
- };
-
- class eos_reached: public exception
- {
- public:
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
- };
-
- class file_io_failure: public exception
- {
- public:
- virtual
- ~file_io_failure () noexcept;
-
- file_io_failure (const std::string& file);
-
- const std::string&
- file () const;
-
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
-
- private:
- std::string file_;
- };
-
- class unmatched_quote: public exception
- {
- public:
- virtual
- ~unmatched_quote () noexcept;
-
- unmatched_quote (const std::string& argument);
-
- const std::string&
- argument () const;
-
- virtual void
- print (::std::wostream&) const;
-
- virtual const char*
- what () const noexcept;
-
- private:
- std::string argument_;
- };
-
- // Command line argument scanner interface.
- //
- // The values returned by next() are guaranteed to be valid
- // for the two previous arguments up until a call to a third
- // peek() or next().
- //
- // The position() function returns a monotonically-increasing
- // number which, if stored, can later be used to determine the
- // relative position of the argument returned by the following
- // call to next(). Note that if multiple scanners are used to
- // extract arguments from multiple sources, then the end
- // position of the previous scanner should be used as the
- // start position of the next.
- //
- class scanner
- {
- public:
- virtual
- ~scanner ();
-
- virtual bool
- more () = 0;
-
- virtual const char*
- peek () = 0;
-
- virtual const char*
- next () = 0;
-
- virtual void
- skip () = 0;
-
- virtual std::size_t
- position () = 0;
- };
-
- class argv_scanner: public scanner
- {
- public:
- argv_scanner (int& argc,
- char** argv,
- bool erase = false,
- std::size_t start_position = 0);
-
- argv_scanner (int start,
- int& argc,
- char** argv,
- bool erase = false,
- std::size_t start_position = 0);
-
- int
- end () const;
-
- virtual bool
- more ();
-
- virtual const char*
- peek ();
-
- virtual const char*
- next ();
-
- virtual void
- skip ();
-
- virtual std::size_t
- position ();
-
- protected:
- std::size_t start_position_;
- int i_;
- int& argc_;
- char** argv_;
- bool erase_;
- };
-
- class argv_file_scanner: public argv_scanner
- {
- public:
- argv_file_scanner (int& argc,
- char** argv,
- const std::string& option,
- bool erase = false,
- std::size_t start_position = 0);
-
- argv_file_scanner (int start,
- int& argc,
- char** argv,
- const std::string& option,
- bool erase = false,
- std::size_t start_position = 0);
-
- argv_file_scanner (const std::string& file,
- const std::string& option,
- std::size_t start_position = 0);
-
- struct option_info
- {
- // If search_func is not NULL, it is called, with the arg
- // value as the second argument, to locate the options file.
- // If it returns an empty string, then the file is ignored.
- //
- const char* option;
- std::string (*search_func) (const char*, void* arg);
- void* arg;
- };
-
- argv_file_scanner (int& argc,
- char** argv,
- const option_info* options,
- std::size_t options_count,
- bool erase = false,
- std::size_t start_position = 0);
-
- argv_file_scanner (int start,
- int& argc,
- char** argv,
- const option_info* options,
- std::size_t options_count,
- bool erase = false,
- std::size_t start_position = 0);
-
- argv_file_scanner (const std::string& file,
- const option_info* options = 0,
- std::size_t options_count = 0,
- std::size_t start_position = 0);
-
- virtual bool
- more ();
-
- virtual const char*
- peek ();
-
- virtual const char*
- next ();
-
- virtual void
- skip ();
-
- virtual std::size_t
- position ();
-
- // Return the file path if the peeked at argument came from a file and
- // the empty string otherwise. The reference is guaranteed to be valid
- // till the end of the scanner lifetime.
- //
- const std::string&
- peek_file ();
-
- // Return the 1-based line number if the peeked at argument came from
- // a file and zero otherwise.
- //
- std::size_t
- peek_line ();
-
- private:
- const option_info*
- find (const char*) const;
-
- void
- load (const std::string& file);
-
- typedef argv_scanner base;
-
- const std::string option_;
- option_info option_info_;
- const option_info* options_;
- std::size_t options_count_;
-
- struct arg
- {
- std::string value;
- const std::string* file;
- std::size_t line;
- };
-
- std::deque<arg> args_;
- std::list<std::string> files_;
-
- // Circular buffer of two arguments.
- //
- std::string hold_[2];
- std::size_t i_;
-
- bool skip_;
-
- static int zero_argc_;
- static std::string empty_string_;
- };
-
- template <typename X>
- struct parser;
-}
-
-#include <cstddef>
-
-#include <cstdint>
-
-#include <xsd/types.hxx>
-
-class help_options
-{
- public:
- help_options ();
-
- help_options (int& argc,
- char** argv,
- bool erase = false,
- ::cli::unknown_mode option = ::cli::unknown_mode::fail,
- ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
-
- help_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);
-
- help_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);
-
- help_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);
-
- help_options (::cli::scanner&,
- ::cli::unknown_mode option = ::cli::unknown_mode::fail,
- ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
-
- // Option accessors.
- //
- const std::uint64_t&
- build2_metadata () const;
-
- bool
- build2_metadata_specified () const;
-
- const bool&
- help () const;
-
- const bool&
- version () const;
-
- const bool&
- proprietary_license () 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:
- std::uint64_t build2_metadata_;
- bool build2_metadata_specified_;
- bool help_;
- bool version_;
- bool proprietary_license_;
-};
-
-class options
-{
- public:
- // Option accessors.
- //
- const NarrowStrings&
- disable_warning () const;
-
- bool
- disable_warning_specified () const;
-
- const std::string&
- options_file () const;
-
- bool
- options_file_specified () const;
-
- const bool&
- show_sloc () const;
-
- const std::size_t&
- sloc_limit () const;
-
- bool
- sloc_limit_specified () const;
-
- const bool&
- proprietary_license () const;
-
- const NarrowString&
- custom_literals () const;
-
- bool
- custom_literals_specified () const;
-
- const bool&
- preserve_anonymous () const;
-
- const bool&
- show_anonymous () const;
-
- const NarrowStrings&
- anonymous_regex () const;
-
- bool
- anonymous_regex_specified () const;
-
- const bool&
- anonymous_regex_trace () const;
-
- const bool&
- morph_anonymous () const;
-
- const NarrowStrings&
- location_map () const;
-
- bool
- location_map_specified () const;
-
- const NarrowStrings&
- location_regex () const;
-
- bool
- location_regex_specified () const;
-
- const bool&
- location_regex_trace () const;
-
- const bool&
- file_per_type () const;
-
- const NarrowStrings&
- type_file_regex () const;
-
- bool
- type_file_regex_specified () const;
-
- const bool&
- type_file_regex_trace () const;
-
- const NarrowStrings&
- schema_file_regex () const;
-
- bool
- schema_file_regex_specified () const;
-
- const bool&
- schema_file_regex_trace () const;
-
- const bool&
- fat_type_file () const;
-
- const NarrowString&
- file_list () const;
-
- bool
- file_list_specified () const;
-
- const bool&
- file_list_only () const;
-
- const NarrowString&
- file_list_prologue () const;
-
- bool
- file_list_prologue_specified () const;
-
- const NarrowString&
- file_list_epilogue () const;
-
- bool
- file_list_epilogue_specified () const;
-
- const NarrowString&
- file_list_delim () const;
-
- bool
- file_list_delim_specified () const;
-
- const bool&
- disable_multi_import () const;
-
- const bool&
- disable_full_check () const;
-
- // Print usage information.
- //
- static ::cli::usage_para
- print_usage (::std::wostream&,
- ::cli::usage_para = ::cli::usage_para::none);
-
- // Implementation details.
- //
- protected:
- options ();
-
- bool
- _parse (const char*, ::cli::scanner&);
-
- public:
- NarrowStrings disable_warning_;
- bool disable_warning_specified_;
- std::string options_file_;
- bool options_file_specified_;
- bool show_sloc_;
- std::size_t sloc_limit_;
- bool sloc_limit_specified_;
- bool proprietary_license_;
- NarrowString custom_literals_;
- bool custom_literals_specified_;
- bool preserve_anonymous_;
- bool show_anonymous_;
- NarrowStrings anonymous_regex_;
- bool anonymous_regex_specified_;
- bool anonymous_regex_trace_;
- bool morph_anonymous_;
- NarrowStrings location_map_;
- bool location_map_specified_;
- NarrowStrings location_regex_;
- bool location_regex_specified_;
- bool location_regex_trace_;
- bool file_per_type_;
- NarrowStrings type_file_regex_;
- bool type_file_regex_specified_;
- bool type_file_regex_trace_;
- NarrowStrings schema_file_regex_;
- bool schema_file_regex_specified_;
- bool schema_file_regex_trace_;
- bool fat_type_file_;
- NarrowString file_list_;
- bool file_list_specified_;
- bool file_list_only_;
- NarrowString file_list_prologue_;
- bool file_list_prologue_specified_;
- NarrowString file_list_epilogue_;
- bool file_list_epilogue_specified_;
- NarrowString file_list_delim_;
- bool file_list_delim_specified_;
- bool disable_multi_import_;
- bool disable_full_check_;
-};
-
-#include <xsd/options.ixx>
-
-// Begin epilogue.
-//
-//
-// End epilogue.
-
-#endif // XSD_OPTIONS_HXX
diff --git a/xsd/pregenerated/xsd/options.ixx b/xsd/pregenerated/xsd/options.ixx
deleted file mode 100644
index d87e59c..0000000
--- a/xsd/pregenerated/xsd/options.ixx
+++ /dev/null
@@ -1,555 +0,0 @@
-// -*- C++ -*-
-//
-// This file was generated by CLI, a command line interface
-// compiler for C++.
-//
-
-// Begin prologue.
-//
-//
-// End prologue.
-
-#include <cassert>
-
-namespace cli
-{
- // usage_para
- //
- inline usage_para::
- usage_para (value v)
- : v_ (v)
- {
- }
-
- // unknown_mode
- //
- inline unknown_mode::
- unknown_mode (value v)
- : v_ (v)
- {
- }
-
- // exception
- //
- inline ::std::wostream&
- operator<< (::std::wostream& os, const exception& e)
- {
- e.print (os);
- return os;
- }
-
- // unknown_option
- //
- inline unknown_option::
- unknown_option (const std::string& option)
- : option_ (option)
- {
- }
-
- inline const std::string& unknown_option::
- option () const
- {
- return option_;
- }
-
- // unknown_argument
- //
- inline unknown_argument::
- unknown_argument (const std::string& argument)
- : argument_ (argument)
- {
- }
-
- inline const std::string& unknown_argument::
- argument () const
- {
- return argument_;
- }
-
- // missing_value
- //
- inline missing_value::
- missing_value (const std::string& option)
- : option_ (option)
- {
- }
-
- inline const std::string& missing_value::
- option () const
- {
- return option_;
- }
-
- // invalid_value
- //
- inline invalid_value::
- invalid_value (const std::string& option,
- const std::string& value,
- const std::string& message)
- : option_ (option),
- value_ (value),
- message_ (message)
- {
- }
-
- inline const std::string& invalid_value::
- option () const
- {
- return option_;
- }
-
- inline const std::string& invalid_value::
- value () const
- {
- return value_;
- }
-
- inline const std::string& invalid_value::
- message () const
- {
- return message_;
- }
-
- // file_io_failure
- //
- inline file_io_failure::
- file_io_failure (const std::string& file)
- : file_ (file)
- {
- }
-
- inline const std::string& file_io_failure::
- file () const
- {
- return file_;
- }
-
- // unmatched_quote
- //
- inline unmatched_quote::
- unmatched_quote (const std::string& argument)
- : argument_ (argument)
- {
- }
-
- inline const std::string& unmatched_quote::
- argument () const
- {
- return argument_;
- }
-
- // argv_scanner
- //
- inline argv_scanner::
- argv_scanner (int& argc,
- char** argv,
- bool erase,
- std::size_t sp)
- : start_position_ (sp + 1),
- i_ (1),
- argc_ (argc),
- argv_ (argv),
- erase_ (erase)
- {
- }
-
- inline argv_scanner::
- argv_scanner (int start,
- int& argc,
- char** argv,
- bool erase,
- std::size_t sp)
- : start_position_ (sp + static_cast<std::size_t> (start)),
- i_ (start),
- argc_ (argc),
- argv_ (argv),
- erase_ (erase)
- {
- }
-
- inline int argv_scanner::
- end () const
- {
- return i_;
- }
-
- // argv_file_scanner
- //
- inline argv_file_scanner::
- argv_file_scanner (int& argc,
- char** argv,
- const std::string& option,
- bool erase,
- std::size_t sp)
- : argv_scanner (argc, argv, erase, sp),
- option_ (option),
- options_ (&option_info_),
- options_count_ (1),
- i_ (1),
- skip_ (false)
- {
- option_info_.option = option_.c_str ();
- option_info_.search_func = 0;
- }
-
- inline argv_file_scanner::
- argv_file_scanner (int start,
- int& argc,
- char** argv,
- const std::string& option,
- bool erase,
- std::size_t sp)
- : argv_scanner (start, argc, argv, erase, sp),
- option_ (option),
- options_ (&option_info_),
- options_count_ (1),
- i_ (1),
- skip_ (false)
- {
- option_info_.option = option_.c_str ();
- option_info_.search_func = 0;
- }
-
- inline argv_file_scanner::
- argv_file_scanner (const std::string& file,
- const std::string& option,
- std::size_t sp)
- : argv_scanner (0, zero_argc_, 0, sp),
- option_ (option),
- options_ (&option_info_),
- options_count_ (1),
- i_ (1),
- skip_ (false)
- {
- option_info_.option = option_.c_str ();
- option_info_.search_func = 0;
-
- load (file);
- }
-
- inline argv_file_scanner::
- argv_file_scanner (int& argc,
- char** argv,
- const option_info* options,
- std::size_t options_count,
- bool erase,
- std::size_t sp)
- : argv_scanner (argc, argv, erase, sp),
- options_ (options),
- options_count_ (options_count),
- i_ (1),
- skip_ (false)
- {
- }
-
- inline argv_file_scanner::
- argv_file_scanner (int start,
- int& argc,
- char** argv,
- const option_info* options,
- std::size_t options_count,
- bool erase,
- std::size_t sp)
- : argv_scanner (start, argc, argv, erase, sp),
- options_ (options),
- options_count_ (options_count),
- i_ (1),
- skip_ (false)
- {
- }
-
- inline argv_file_scanner::
- argv_file_scanner (const std::string& file,
- const option_info* options,
- std::size_t options_count,
- std::size_t sp)
- : argv_scanner (0, zero_argc_, 0, sp),
- options_ (options),
- options_count_ (options_count),
- i_ (1),
- skip_ (false)
- {
- load (file);
- }
-}
-
-// help_options
-//
-
-inline const std::uint64_t& help_options::
-build2_metadata () const
-{
- return this->build2_metadata_;
-}
-
-inline bool help_options::
-build2_metadata_specified () const
-{
- return this->build2_metadata_specified_;
-}
-
-inline const bool& help_options::
-help () const
-{
- return this->help_;
-}
-
-inline const bool& help_options::
-version () const
-{
- return this->version_;
-}
-
-inline const bool& help_options::
-proprietary_license () const
-{
- return this->proprietary_license_;
-}
-
-// options
-//
-
-inline const NarrowStrings& options::
-disable_warning () const
-{
- return this->disable_warning_;
-}
-
-inline bool options::
-disable_warning_specified () const
-{
- return this->disable_warning_specified_;
-}
-
-inline const std::string& options::
-options_file () const
-{
- return this->options_file_;
-}
-
-inline bool options::
-options_file_specified () const
-{
- return this->options_file_specified_;
-}
-
-inline const bool& options::
-show_sloc () const
-{
- return this->show_sloc_;
-}
-
-inline const std::size_t& options::
-sloc_limit () const
-{
- return this->sloc_limit_;
-}
-
-inline bool options::
-sloc_limit_specified () const
-{
- return this->sloc_limit_specified_;
-}
-
-inline const bool& options::
-proprietary_license () const
-{
- return this->proprietary_license_;
-}
-
-inline const NarrowString& options::
-custom_literals () const
-{
- return this->custom_literals_;
-}
-
-inline bool options::
-custom_literals_specified () const
-{
- return this->custom_literals_specified_;
-}
-
-inline const bool& options::
-preserve_anonymous () const
-{
- return this->preserve_anonymous_;
-}
-
-inline const bool& options::
-show_anonymous () const
-{
- return this->show_anonymous_;
-}
-
-inline const NarrowStrings& options::
-anonymous_regex () const
-{
- return this->anonymous_regex_;
-}
-
-inline bool options::
-anonymous_regex_specified () const
-{
- return this->anonymous_regex_specified_;
-}
-
-inline const bool& options::
-anonymous_regex_trace () const
-{
- return this->anonymous_regex_trace_;
-}
-
-inline const bool& options::
-morph_anonymous () const
-{
- return this->morph_anonymous_;
-}
-
-inline const NarrowStrings& options::
-location_map () const
-{
- return this->location_map_;
-}
-
-inline bool options::
-location_map_specified () const
-{
- return this->location_map_specified_;
-}
-
-inline const NarrowStrings& options::
-location_regex () const
-{
- return this->location_regex_;
-}
-
-inline bool options::
-location_regex_specified () const
-{
- return this->location_regex_specified_;
-}
-
-inline const bool& options::
-location_regex_trace () const
-{
- return this->location_regex_trace_;
-}
-
-inline const bool& options::
-file_per_type () const
-{
- return this->file_per_type_;
-}
-
-inline const NarrowStrings& options::
-type_file_regex () const
-{
- return this->type_file_regex_;
-}
-
-inline bool options::
-type_file_regex_specified () const
-{
- return this->type_file_regex_specified_;
-}
-
-inline const bool& options::
-type_file_regex_trace () const
-{
- return this->type_file_regex_trace_;
-}
-
-inline const NarrowStrings& options::
-schema_file_regex () const
-{
- return this->schema_file_regex_;
-}
-
-inline bool options::
-schema_file_regex_specified () const
-{
- return this->schema_file_regex_specified_;
-}
-
-inline const bool& options::
-schema_file_regex_trace () const
-{
- return this->schema_file_regex_trace_;
-}
-
-inline const bool& options::
-fat_type_file () const
-{
- return this->fat_type_file_;
-}
-
-inline const NarrowString& options::
-file_list () const
-{
- return this->file_list_;
-}
-
-inline bool options::
-file_list_specified () const
-{
- return this->file_list_specified_;
-}
-
-inline const bool& options::
-file_list_only () const
-{
- return this->file_list_only_;
-}
-
-inline const NarrowString& options::
-file_list_prologue () const
-{
- return this->file_list_prologue_;
-}
-
-inline bool options::
-file_list_prologue_specified () const
-{
- return this->file_list_prologue_specified_;
-}
-
-inline const NarrowString& options::
-file_list_epilogue () const
-{
- return this->file_list_epilogue_;
-}
-
-inline bool options::
-file_list_epilogue_specified () const
-{
- return this->file_list_epilogue_specified_;
-}
-
-inline const NarrowString& options::
-file_list_delim () const
-{
- return this->file_list_delim_;
-}
-
-inline bool options::
-file_list_delim_specified () const
-{
- return this->file_list_delim_specified_;
-}
-
-inline const bool& options::
-disable_multi_import () const
-{
- return this->disable_multi_import_;
-}
-
-inline const bool& options::
-disable_full_check () const
-{
- return this->disable_full_check_;
-}
-
-// Begin epilogue.
-//
-//
-// End epilogue.