aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--odb/.gitignore3
-rw-r--r--odb/buildfile2
-rw-r--r--odb/makefile16
-rw-r--r--odb/options.cxx3840
-rw-r--r--odb/options.hxx2252
-rw-r--r--odb/options.ixx3382
7 files changed, 9487 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index a06aa4b..a3f04ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,3 @@
# Generated build system files.
#
*-dynamic.make
-
-# Generated .gitignore files.
-#
-.gitignore
diff --git a/odb/.gitignore b/odb/.gitignore
new file mode 100644
index 0000000..7e97b78
--- /dev/null
+++ b/odb/.gitignore
@@ -0,0 +1,3 @@
+odb
+odb.so
+#options.?xx
diff --git a/odb/buildfile b/odb/buildfile
index 0dd11aa..2980570 100644
--- a/odb/buildfile
+++ b/odb/buildfile
@@ -38,6 +38,8 @@ cxx.poptions += -DODB_BUILD2 # @@ TMP while supporting other build systems.
# Generated options parser.
#
+# @@ TMP: currently generated code is committed to allow building from git.
+#
if $cli.configured
{
cli.cxx{options}: cli{options}
diff --git a/odb/makefile b/odb/makefile
index cd952f6..9c384f4 100644
--- a/odb/makefile
+++ b/odb/makefile
@@ -270,14 +270,14 @@ $(clean): \
# Generated .gitignore.
#
-ifeq ($(out_base),$(src_base))
-$(odb): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := odb odb.so $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
+#ifeq ($(out_base),$(src_base))
+#$(odb): | $(out_base)/.gitignore
+#
+#$(out_base)/.gitignore: files := odb odb.so $(genf)
+#$(clean): $(out_base)/.gitignore.clean
+#
+#$(call include,$(bld_root)/git/gitignore.make)
+#endif
# Rules.
#
diff --git a/odb/options.cxx b/odb/options.cxx
new file mode 100644
index 0000000..f0b1054
--- /dev/null
+++ b/odb/options.cxx
@@ -0,0 +1,3840 @@
+// -*- C++ -*-
+//
+// This file was generated by CLI, a command line interface
+// compiler for C++.
+//
+
+// Begin prologue.
+//
+#include <odb/option-parsers.hxx>
+//
+// End prologue.
+
+#include <odb/options.hxx>
+
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
+#include <ostream>
+#include <sstream>
+#include <cstring>
+#include <fstream>
+
+namespace cli
+{
+ // unknown_option
+ //
+ unknown_option::
+ ~unknown_option () throw ()
+ {
+ }
+
+ void unknown_option::
+ print (::std::ostream& os) const
+ {
+ os << "unknown option '" << option ().c_str () << "'";
+ }
+
+ const char* unknown_option::
+ what () const throw ()
+ {
+ return "unknown option";
+ }
+
+ // unknown_argument
+ //
+ unknown_argument::
+ ~unknown_argument () throw ()
+ {
+ }
+
+ void unknown_argument::
+ print (::std::ostream& os) const
+ {
+ os << "unknown argument '" << argument ().c_str () << "'";
+ }
+
+ const char* unknown_argument::
+ what () const throw ()
+ {
+ return "unknown argument";
+ }
+
+ // missing_value
+ //
+ missing_value::
+ ~missing_value () throw ()
+ {
+ }
+
+ void missing_value::
+ print (::std::ostream& os) const
+ {
+ os << "missing value for option '" << option ().c_str () << "'";
+ }
+
+ const char* missing_value::
+ what () const throw ()
+ {
+ return "missing option value";
+ }
+
+ // invalid_value
+ //
+ invalid_value::
+ ~invalid_value () throw ()
+ {
+ }
+
+ void invalid_value::
+ print (::std::ostream& os) const
+ {
+ os << "invalid value '" << value ().c_str () << "' for option '"
+ << option ().c_str () << "'";
+ }
+
+ const char* invalid_value::
+ what () const throw ()
+ {
+ return "invalid option value";
+ }
+
+ // eos_reached
+ //
+ void eos_reached::
+ print (::std::ostream& os) const
+ {
+ os << what ();
+ }
+
+ const char* eos_reached::
+ what () const throw ()
+ {
+ return "end of argument stream reached";
+ }
+
+ // file_io_failure
+ //
+ file_io_failure::
+ ~file_io_failure () throw ()
+ {
+ }
+
+ void file_io_failure::
+ print (::std::ostream& os) const
+ {
+ os << "unable to open file '" << file ().c_str () << "' or read failure";
+ }
+
+ const char* file_io_failure::
+ what () const throw ()
+ {
+ return "unable to open file or read failure";
+ }
+
+ // unmatched_quote
+ //
+ unmatched_quote::
+ ~unmatched_quote () throw ()
+ {
+ }
+
+ void unmatched_quote::
+ print (::std::ostream& os) const
+ {
+ os << "unmatched quote in argument '" << argument ().c_str () << "'";
+ }
+
+ const char* unmatched_quote::
+ what () const throw ()
+ {
+ 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_;
+
+ return r;
+ }
+ else
+ throw eos_reached ();
+ }
+
+ void argv_scanner::
+ skip ()
+ {
+ if (i_ < argc_)
+ ++i_;
+ else
+ throw eos_reached ();
+ }
+
+ // argv_file_scanner
+ //
+ 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 ().c_str ();
+ }
+
+ 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 ());
+ args_.pop_front ();
+ 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 ();
+ }
+
+ 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;
+ }
+
+ 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);
+
+ while (!is.eof ())
+ {
+ 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 (line.find (' '));
+
+ if (p == string::npos)
+ {
+ if (!skip_)
+ skip_ = (line == "--");
+
+ args_.push_back (line);
+ }
+ else
+ {
+ string s1 (line, 0, p);
+
+ // Skip leading whitespaces in the argument.
+ //
+ n = line.size ();
+ for (++p; p < n; ++p)
+ {
+ char c (line[p]);
+
+ if (c != ' ' && c != '\t' && c != '\r')
+ break;
+ }
+
+ string s2 (line, p);
+
+ // If the string 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);
+ }
+
+ const option_info* oi;
+ if (!skip_ && (oi = find (s1.c_str ())))
+ {
+ if (s2.empty ())
+ throw missing_value (oi->option);
+
+ if (oi->search_func != 0)
+ {
+ std::string f (oi->search_func (s2.c_str (), oi->arg));
+
+ if (!f.empty ())
+ load (f);
+ }
+ else
+ load (s2);
+ }
+ else
+ {
+ args_.push_back (s1);
+ args_.push_back (s2);
+ }
+ }
+ }
+ }
+
+ void options::
+ push_back (const option& o)
+ {
+ container_type::size_type n (size ());
+ container_type::push_back (o);
+ map_[o.name ()] = n;
+
+ for (option_names::const_iterator i (o.aliases ().begin ());
+ i != o.aliases ().end (); ++i)
+ map_[*i] = n;
+ }
+
+ 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, scanner& s)
+ {
+ s.next ();
+ x = 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::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>
+ struct parser<std::set<X> >
+ {
+ static void
+ parse (std::set<X>& 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>
+ struct parser<std::map<K, V> >
+ {
+ static void
+ parse (std::map<K, V>& m, bool& xs, scanner& s)
+ {
+ const char* o (s.next ());
+
+ if (s.more ())
+ {
+ 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);
+ parser<K>::parse (k, dummy, s);
+ }
+
+ if (!vstr.empty ())
+ {
+ av[1] = const_cast<char*> (vstr.c_str ());
+ argv_scanner s (0, ac, av);
+ parser<V>::parse (v, dummy, s);
+ }
+
+ m[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, typename T, T X::*M, bool X::*S>
+ void
+ thunk (X& x, scanner& s)
+ {
+ parser<T>::parse (x.*M, x.*S, s);
+ }
+}
+
+#include <map>
+#include <cstring>
+
+// options
+//
+
+options::
+options ()
+: help_ (),
+ version_ (),
+ I_ (),
+ I_specified_ (false),
+ D_ (),
+ D_specified_ (false),
+ U_ (),
+ U_specified_ (false),
+ database_ (),
+ database_specified_ (false),
+ multi_database_ (::multi_database::disabled),
+ multi_database_specified_ (false),
+ default_database_ (),
+ default_database_specified_ (false),
+ generate_query_ (),
+ generate_prepared_ (),
+ omit_unprepared_ (),
+ generate_session_ (),
+ generate_schema_ (),
+ generate_schema_only_ (),
+ suppress_migration_ (),
+ suppress_schema_version_ (),
+ schema_version_table_ (),
+ schema_version_table_specified_ (false),
+ schema_format_ (),
+ schema_format_specified_ (false),
+ omit_drop_ (),
+ omit_create_ (),
+ schema_name_ (),
+ schema_name_specified_ (false),
+ fkeys_deferrable_mode_ (),
+ fkeys_deferrable_mode_specified_ (false),
+ default_pointer_ ("*"),
+ default_pointer_specified_ (false),
+ session_type_ ("odb::session"),
+ session_type_specified_ (false),
+ profile_ (),
+ profile_specified_ (false),
+ at_once_ (),
+ schema_ (),
+ schema_specified_ (false),
+ export_symbol_ (),
+ export_symbol_specified_ (false),
+ extern_symbol_ (),
+ extern_symbol_specified_ (false),
+ std_ (cxx_version::cxx98),
+ std_specified_ (false),
+ warn_hard_add_ (),
+ warn_hard_delete_ (),
+ warn_hard_ (),
+ output_dir_ (),
+ output_dir_specified_ (false),
+ input_name_ (),
+ input_name_specified_ (false),
+ changelog_ (),
+ changelog_specified_ (false),
+ changelog_in_ (),
+ changelog_in_specified_ (false),
+ changelog_out_ (),
+ changelog_out_specified_ (false),
+ changelog_dir_ (),
+ changelog_dir_specified_ (false),
+ init_changelog_ (),
+ odb_file_suffix_ (),
+ odb_file_suffix_specified_ (false),
+ sql_file_suffix_ (),
+ sql_file_suffix_specified_ (false),
+ schema_file_suffix_ (),
+ schema_file_suffix_specified_ (false),
+ changelog_file_suffix_ (),
+ changelog_file_suffix_specified_ (false),
+ hxx_suffix_ (".hxx"),
+ hxx_suffix_specified_ (false),
+ ixx_suffix_ (".ixx"),
+ ixx_suffix_specified_ (false),
+ cxx_suffix_ (".cxx"),
+ cxx_suffix_specified_ (false),
+ sql_suffix_ (".sql"),
+ sql_suffix_specified_ (false),
+ changelog_suffix_ (".xml"),
+ changelog_suffix_specified_ (false),
+ hxx_prologue_ (),
+ hxx_prologue_specified_ (false),
+ ixx_prologue_ (),
+ ixx_prologue_specified_ (false),
+ cxx_prologue_ (),
+ cxx_prologue_specified_ (false),
+ schema_prologue_ (),
+ schema_prologue_specified_ (false),
+ sql_prologue_ (),
+ sql_prologue_specified_ (false),
+ migration_prologue_ (),
+ migration_prologue_specified_ (false),
+ sql_interlude_ (),
+ sql_interlude_specified_ (false),
+ hxx_epilogue_ (),
+ hxx_epilogue_specified_ (false),
+ ixx_epilogue_ (),
+ ixx_epilogue_specified_ (false),
+ cxx_epilogue_ (),
+ cxx_epilogue_specified_ (false),
+ schema_epilogue_ (),
+ schema_epilogue_specified_ (false),
+ sql_epilogue_ (),
+ sql_epilogue_specified_ (false),
+ migration_epilogue_ (),
+ migration_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),
+ schema_prologue_file_ (),
+ schema_prologue_file_specified_ (false),
+ sql_prologue_file_ (),
+ sql_prologue_file_specified_ (false),
+ migration_prologue_file_ (),
+ migration_prologue_file_specified_ (false),
+ sql_interlude_file_ (),
+ sql_interlude_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),
+ schema_epilogue_file_ (),
+ schema_epilogue_file_specified_ (false),
+ sql_epilogue_file_ (),
+ sql_epilogue_file_specified_ (false),
+ migration_epilogue_file_ (),
+ migration_epilogue_file_specified_ (false),
+ odb_prologue_ (),
+ odb_prologue_specified_ (false),
+ odb_prologue_file_ (),
+ odb_prologue_file_specified_ (false),
+ odb_epilogue_ (),
+ odb_epilogue_specified_ (false),
+ odb_epilogue_file_ (),
+ odb_epilogue_file_specified_ (false),
+ table_prefix_ (),
+ table_prefix_specified_ (false),
+ index_suffix_ (),
+ index_suffix_specified_ (false),
+ fkey_suffix_ (),
+ fkey_suffix_specified_ (false),
+ sequence_suffix_ (),
+ sequence_suffix_specified_ (false),
+ sql_name_case_ (),
+ sql_name_case_specified_ (false),
+ table_regex_ (),
+ table_regex_specified_ (false),
+ column_regex_ (),
+ column_regex_specified_ (false),
+ index_regex_ (),
+ index_regex_specified_ (false),
+ fkey_regex_ (),
+ fkey_regex_specified_ (false),
+ sequence_regex_ (),
+ sequence_regex_specified_ (false),
+ statement_regex_ (),
+ statement_regex_specified_ (false),
+ sql_name_regex_ (),
+ sql_name_regex_specified_ (false),
+ sql_name_regex_trace_ (),
+ accessor_regex_ (),
+ accessor_regex_specified_ (false),
+ accessor_regex_trace_ (),
+ modifier_regex_ (),
+ modifier_regex_specified_ (false),
+ modifier_regex_trace_ (),
+ include_with_brackets_ (),
+ include_prefix_ (),
+ include_prefix_specified_ (false),
+ include_regex_ (),
+ include_regex_specified_ (false),
+ include_regex_trace_ (),
+ guard_prefix_ (),
+ guard_prefix_specified_ (false),
+ show_sloc_ (),
+ sloc_limit_ (),
+ sloc_limit_specified_ (false),
+ options_file_ (),
+ options_file_specified_ (false),
+ x_ (),
+ x_specified_ (false),
+ v_ (),
+ trace_ (),
+ mysql_engine_ ("InnoDB"),
+ mysql_engine_specified_ (false),
+ sqlite_override_null_ (),
+ sqlite_lax_auto_id_ (),
+ pgsql_server_version_ (7, 4),
+ pgsql_server_version_specified_ (false),
+ oracle_client_version_ (10, 1),
+ oracle_client_version_specified_ (false),
+ oracle_warn_truncation_ (),
+ mssql_server_version_ (10, 0),
+ mssql_server_version_specified_ (false),
+ mssql_short_limit_ (1024),
+ mssql_short_limit_specified_ (false)
+{
+}
+
+options::
+options (int& argc,
+ char** argv,
+ bool erase,
+ ::cli::unknown_mode opt,
+ ::cli::unknown_mode arg)
+: help_ (),
+ version_ (),
+ I_ (),
+ I_specified_ (false),
+ D_ (),
+ D_specified_ (false),
+ U_ (),
+ U_specified_ (false),
+ database_ (),
+ database_specified_ (false),
+ multi_database_ (::multi_database::disabled),
+ multi_database_specified_ (false),
+ default_database_ (),
+ default_database_specified_ (false),
+ generate_query_ (),
+ generate_prepared_ (),
+ omit_unprepared_ (),
+ generate_session_ (),
+ generate_schema_ (),
+ generate_schema_only_ (),
+ suppress_migration_ (),
+ suppress_schema_version_ (),
+ schema_version_table_ (),
+ schema_version_table_specified_ (false),
+ schema_format_ (),
+ schema_format_specified_ (false),
+ omit_drop_ (),
+ omit_create_ (),
+ schema_name_ (),
+ schema_name_specified_ (false),
+ fkeys_deferrable_mode_ (),
+ fkeys_deferrable_mode_specified_ (false),
+ default_pointer_ ("*"),
+ default_pointer_specified_ (false),
+ session_type_ ("odb::session"),
+ session_type_specified_ (false),
+ profile_ (),
+ profile_specified_ (false),
+ at_once_ (),
+ schema_ (),
+ schema_specified_ (false),
+ export_symbol_ (),
+ export_symbol_specified_ (false),
+ extern_symbol_ (),
+ extern_symbol_specified_ (false),
+ std_ (cxx_version::cxx98),
+ std_specified_ (false),
+ warn_hard_add_ (),
+ warn_hard_delete_ (),
+ warn_hard_ (),
+ output_dir_ (),
+ output_dir_specified_ (false),
+ input_name_ (),
+ input_name_specified_ (false),
+ changelog_ (),
+ changelog_specified_ (false),
+ changelog_in_ (),
+ changelog_in_specified_ (false),
+ changelog_out_ (),
+ changelog_out_specified_ (false),
+ changelog_dir_ (),
+ changelog_dir_specified_ (false),
+ init_changelog_ (),
+ odb_file_suffix_ (),
+ odb_file_suffix_specified_ (false),
+ sql_file_suffix_ (),
+ sql_file_suffix_specified_ (false),
+ schema_file_suffix_ (),
+ schema_file_suffix_specified_ (false),
+ changelog_file_suffix_ (),
+ changelog_file_suffix_specified_ (false),
+ hxx_suffix_ (".hxx"),
+ hxx_suffix_specified_ (false),
+ ixx_suffix_ (".ixx"),
+ ixx_suffix_specified_ (false),
+ cxx_suffix_ (".cxx"),
+ cxx_suffix_specified_ (false),
+ sql_suffix_ (".sql"),
+ sql_suffix_specified_ (false),
+ changelog_suffix_ (".xml"),
+ changelog_suffix_specified_ (false),
+ hxx_prologue_ (),
+ hxx_prologue_specified_ (false),
+ ixx_prologue_ (),
+ ixx_prologue_specified_ (false),
+ cxx_prologue_ (),
+ cxx_prologue_specified_ (false),
+ schema_prologue_ (),
+ schema_prologue_specified_ (false),
+ sql_prologue_ (),
+ sql_prologue_specified_ (false),
+ migration_prologue_ (),
+ migration_prologue_specified_ (false),
+ sql_interlude_ (),
+ sql_interlude_specified_ (false),
+ hxx_epilogue_ (),
+ hxx_epilogue_specified_ (false),
+ ixx_epilogue_ (),
+ ixx_epilogue_specified_ (false),
+ cxx_epilogue_ (),
+ cxx_epilogue_specified_ (false),
+ schema_epilogue_ (),
+ schema_epilogue_specified_ (false),
+ sql_epilogue_ (),
+ sql_epilogue_specified_ (false),
+ migration_epilogue_ (),
+ migration_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),
+ schema_prologue_file_ (),
+ schema_prologue_file_specified_ (false),
+ sql_prologue_file_ (),
+ sql_prologue_file_specified_ (false),
+ migration_prologue_file_ (),
+ migration_prologue_file_specified_ (false),
+ sql_interlude_file_ (),
+ sql_interlude_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),
+ schema_epilogue_file_ (),
+ schema_epilogue_file_specified_ (false),
+ sql_epilogue_file_ (),
+ sql_epilogue_file_specified_ (false),
+ migration_epilogue_file_ (),
+ migration_epilogue_file_specified_ (false),
+ odb_prologue_ (),
+ odb_prologue_specified_ (false),
+ odb_prologue_file_ (),
+ odb_prologue_file_specified_ (false),
+ odb_epilogue_ (),
+ odb_epilogue_specified_ (false),
+ odb_epilogue_file_ (),
+ odb_epilogue_file_specified_ (false),
+ table_prefix_ (),
+ table_prefix_specified_ (false),
+ index_suffix_ (),
+ index_suffix_specified_ (false),
+ fkey_suffix_ (),
+ fkey_suffix_specified_ (false),
+ sequence_suffix_ (),
+ sequence_suffix_specified_ (false),
+ sql_name_case_ (),
+ sql_name_case_specified_ (false),
+ table_regex_ (),
+ table_regex_specified_ (false),
+ column_regex_ (),
+ column_regex_specified_ (false),
+ index_regex_ (),
+ index_regex_specified_ (false),
+ fkey_regex_ (),
+ fkey_regex_specified_ (false),
+ sequence_regex_ (),
+ sequence_regex_specified_ (false),
+ statement_regex_ (),
+ statement_regex_specified_ (false),
+ sql_name_regex_ (),
+ sql_name_regex_specified_ (false),
+ sql_name_regex_trace_ (),
+ accessor_regex_ (),
+ accessor_regex_specified_ (false),
+ accessor_regex_trace_ (),
+ modifier_regex_ (),
+ modifier_regex_specified_ (false),
+ modifier_regex_trace_ (),
+ include_with_brackets_ (),
+ include_prefix_ (),
+ include_prefix_specified_ (false),
+ include_regex_ (),
+ include_regex_specified_ (false),
+ include_regex_trace_ (),
+ guard_prefix_ (),
+ guard_prefix_specified_ (false),
+ show_sloc_ (),
+ sloc_limit_ (),
+ sloc_limit_specified_ (false),
+ options_file_ (),
+ options_file_specified_ (false),
+ x_ (),
+ x_specified_ (false),
+ v_ (),
+ trace_ (),
+ mysql_engine_ ("InnoDB"),
+ mysql_engine_specified_ (false),
+ sqlite_override_null_ (),
+ sqlite_lax_auto_id_ (),
+ pgsql_server_version_ (7, 4),
+ pgsql_server_version_specified_ (false),
+ oracle_client_version_ (10, 1),
+ oracle_client_version_specified_ (false),
+ oracle_warn_truncation_ (),
+ mssql_server_version_ (10, 0),
+ mssql_server_version_specified_ (false),
+ mssql_short_limit_ (1024),
+ mssql_short_limit_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)
+: help_ (),
+ version_ (),
+ I_ (),
+ I_specified_ (false),
+ D_ (),
+ D_specified_ (false),
+ U_ (),
+ U_specified_ (false),
+ database_ (),
+ database_specified_ (false),
+ multi_database_ (::multi_database::disabled),
+ multi_database_specified_ (false),
+ default_database_ (),
+ default_database_specified_ (false),
+ generate_query_ (),
+ generate_prepared_ (),
+ omit_unprepared_ (),
+ generate_session_ (),
+ generate_schema_ (),
+ generate_schema_only_ (),
+ suppress_migration_ (),
+ suppress_schema_version_ (),
+ schema_version_table_ (),
+ schema_version_table_specified_ (false),
+ schema_format_ (),
+ schema_format_specified_ (false),
+ omit_drop_ (),
+ omit_create_ (),
+ schema_name_ (),
+ schema_name_specified_ (false),
+ fkeys_deferrable_mode_ (),
+ fkeys_deferrable_mode_specified_ (false),
+ default_pointer_ ("*"),
+ default_pointer_specified_ (false),
+ session_type_ ("odb::session"),
+ session_type_specified_ (false),
+ profile_ (),
+ profile_specified_ (false),
+ at_once_ (),
+ schema_ (),
+ schema_specified_ (false),
+ export_symbol_ (),
+ export_symbol_specified_ (false),
+ extern_symbol_ (),
+ extern_symbol_specified_ (false),
+ std_ (cxx_version::cxx98),
+ std_specified_ (false),
+ warn_hard_add_ (),
+ warn_hard_delete_ (),
+ warn_hard_ (),
+ output_dir_ (),
+ output_dir_specified_ (false),
+ input_name_ (),
+ input_name_specified_ (false),
+ changelog_ (),
+ changelog_specified_ (false),
+ changelog_in_ (),
+ changelog_in_specified_ (false),
+ changelog_out_ (),
+ changelog_out_specified_ (false),
+ changelog_dir_ (),
+ changelog_dir_specified_ (false),
+ init_changelog_ (),
+ odb_file_suffix_ (),
+ odb_file_suffix_specified_ (false),
+ sql_file_suffix_ (),
+ sql_file_suffix_specified_ (false),
+ schema_file_suffix_ (),
+ schema_file_suffix_specified_ (false),
+ changelog_file_suffix_ (),
+ changelog_file_suffix_specified_ (false),
+ hxx_suffix_ (".hxx"),
+ hxx_suffix_specified_ (false),
+ ixx_suffix_ (".ixx"),
+ ixx_suffix_specified_ (false),
+ cxx_suffix_ (".cxx"),
+ cxx_suffix_specified_ (false),
+ sql_suffix_ (".sql"),
+ sql_suffix_specified_ (false),
+ changelog_suffix_ (".xml"),
+ changelog_suffix_specified_ (false),
+ hxx_prologue_ (),
+ hxx_prologue_specified_ (false),
+ ixx_prologue_ (),
+ ixx_prologue_specified_ (false),
+ cxx_prologue_ (),
+ cxx_prologue_specified_ (false),
+ schema_prologue_ (),
+ schema_prologue_specified_ (false),
+ sql_prologue_ (),
+ sql_prologue_specified_ (false),
+ migration_prologue_ (),
+ migration_prologue_specified_ (false),
+ sql_interlude_ (),
+ sql_interlude_specified_ (false),
+ hxx_epilogue_ (),
+ hxx_epilogue_specified_ (false),
+ ixx_epilogue_ (),
+ ixx_epilogue_specified_ (false),
+ cxx_epilogue_ (),
+ cxx_epilogue_specified_ (false),
+ schema_epilogue_ (),
+ schema_epilogue_specified_ (false),
+ sql_epilogue_ (),
+ sql_epilogue_specified_ (false),
+ migration_epilogue_ (),
+ migration_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),
+ schema_prologue_file_ (),
+ schema_prologue_file_specified_ (false),
+ sql_prologue_file_ (),
+ sql_prologue_file_specified_ (false),
+ migration_prologue_file_ (),
+ migration_prologue_file_specified_ (false),
+ sql_interlude_file_ (),
+ sql_interlude_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),
+ schema_epilogue_file_ (),
+ schema_epilogue_file_specified_ (false),
+ sql_epilogue_file_ (),
+ sql_epilogue_file_specified_ (false),
+ migration_epilogue_file_ (),
+ migration_epilogue_file_specified_ (false),
+ odb_prologue_ (),
+ odb_prologue_specified_ (false),
+ odb_prologue_file_ (),
+ odb_prologue_file_specified_ (false),
+ odb_epilogue_ (),
+ odb_epilogue_specified_ (false),
+ odb_epilogue_file_ (),
+ odb_epilogue_file_specified_ (false),
+ table_prefix_ (),
+ table_prefix_specified_ (false),
+ index_suffix_ (),
+ index_suffix_specified_ (false),
+ fkey_suffix_ (),
+ fkey_suffix_specified_ (false),
+ sequence_suffix_ (),
+ sequence_suffix_specified_ (false),
+ sql_name_case_ (),
+ sql_name_case_specified_ (false),
+ table_regex_ (),
+ table_regex_specified_ (false),
+ column_regex_ (),
+ column_regex_specified_ (false),
+ index_regex_ (),
+ index_regex_specified_ (false),
+ fkey_regex_ (),
+ fkey_regex_specified_ (false),
+ sequence_regex_ (),
+ sequence_regex_specified_ (false),
+ statement_regex_ (),
+ statement_regex_specified_ (false),
+ sql_name_regex_ (),
+ sql_name_regex_specified_ (false),
+ sql_name_regex_trace_ (),
+ accessor_regex_ (),
+ accessor_regex_specified_ (false),
+ accessor_regex_trace_ (),
+ modifier_regex_ (),
+ modifier_regex_specified_ (false),
+ modifier_regex_trace_ (),
+ include_with_brackets_ (),
+ include_prefix_ (),
+ include_prefix_specified_ (false),
+ include_regex_ (),
+ include_regex_specified_ (false),
+ include_regex_trace_ (),
+ guard_prefix_ (),
+ guard_prefix_specified_ (false),
+ show_sloc_ (),
+ sloc_limit_ (),
+ sloc_limit_specified_ (false),
+ options_file_ (),
+ options_file_specified_ (false),
+ x_ (),
+ x_specified_ (false),
+ v_ (),
+ trace_ (),
+ mysql_engine_ ("InnoDB"),
+ mysql_engine_specified_ (false),
+ sqlite_override_null_ (),
+ sqlite_lax_auto_id_ (),
+ pgsql_server_version_ (7, 4),
+ pgsql_server_version_specified_ (false),
+ oracle_client_version_ (10, 1),
+ oracle_client_version_specified_ (false),
+ oracle_warn_truncation_ (),
+ mssql_server_version_ (10, 0),
+ mssql_server_version_specified_ (false),
+ mssql_short_limit_ (1024),
+ mssql_short_limit_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)
+: help_ (),
+ version_ (),
+ I_ (),
+ I_specified_ (false),
+ D_ (),
+ D_specified_ (false),
+ U_ (),
+ U_specified_ (false),
+ database_ (),
+ database_specified_ (false),
+ multi_database_ (::multi_database::disabled),
+ multi_database_specified_ (false),
+ default_database_ (),
+ default_database_specified_ (false),
+ generate_query_ (),
+ generate_prepared_ (),
+ omit_unprepared_ (),
+ generate_session_ (),
+ generate_schema_ (),
+ generate_schema_only_ (),
+ suppress_migration_ (),
+ suppress_schema_version_ (),
+ schema_version_table_ (),
+ schema_version_table_specified_ (false),
+ schema_format_ (),
+ schema_format_specified_ (false),
+ omit_drop_ (),
+ omit_create_ (),
+ schema_name_ (),
+ schema_name_specified_ (false),
+ fkeys_deferrable_mode_ (),
+ fkeys_deferrable_mode_specified_ (false),
+ default_pointer_ ("*"),
+ default_pointer_specified_ (false),
+ session_type_ ("odb::session"),
+ session_type_specified_ (false),
+ profile_ (),
+ profile_specified_ (false),
+ at_once_ (),
+ schema_ (),
+ schema_specified_ (false),
+ export_symbol_ (),
+ export_symbol_specified_ (false),
+ extern_symbol_ (),
+ extern_symbol_specified_ (false),
+ std_ (cxx_version::cxx98),
+ std_specified_ (false),
+ warn_hard_add_ (),
+ warn_hard_delete_ (),
+ warn_hard_ (),
+ output_dir_ (),
+ output_dir_specified_ (false),
+ input_name_ (),
+ input_name_specified_ (false),
+ changelog_ (),
+ changelog_specified_ (false),
+ changelog_in_ (),
+ changelog_in_specified_ (false),
+ changelog_out_ (),
+ changelog_out_specified_ (false),
+ changelog_dir_ (),
+ changelog_dir_specified_ (false),
+ init_changelog_ (),
+ odb_file_suffix_ (),
+ odb_file_suffix_specified_ (false),
+ sql_file_suffix_ (),
+ sql_file_suffix_specified_ (false),
+ schema_file_suffix_ (),
+ schema_file_suffix_specified_ (false),
+ changelog_file_suffix_ (),
+ changelog_file_suffix_specified_ (false),
+ hxx_suffix_ (".hxx"),
+ hxx_suffix_specified_ (false),
+ ixx_suffix_ (".ixx"),
+ ixx_suffix_specified_ (false),
+ cxx_suffix_ (".cxx"),
+ cxx_suffix_specified_ (false),
+ sql_suffix_ (".sql"),
+ sql_suffix_specified_ (false),
+ changelog_suffix_ (".xml"),
+ changelog_suffix_specified_ (false),
+ hxx_prologue_ (),
+ hxx_prologue_specified_ (false),
+ ixx_prologue_ (),
+ ixx_prologue_specified_ (false),
+ cxx_prologue_ (),
+ cxx_prologue_specified_ (false),
+ schema_prologue_ (),
+ schema_prologue_specified_ (false),
+ sql_prologue_ (),
+ sql_prologue_specified_ (false),
+ migration_prologue_ (),
+ migration_prologue_specified_ (false),
+ sql_interlude_ (),
+ sql_interlude_specified_ (false),
+ hxx_epilogue_ (),
+ hxx_epilogue_specified_ (false),
+ ixx_epilogue_ (),
+ ixx_epilogue_specified_ (false),
+ cxx_epilogue_ (),
+ cxx_epilogue_specified_ (false),
+ schema_epilogue_ (),
+ schema_epilogue_specified_ (false),
+ sql_epilogue_ (),
+ sql_epilogue_specified_ (false),
+ migration_epilogue_ (),
+ migration_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),
+ schema_prologue_file_ (),
+ schema_prologue_file_specified_ (false),
+ sql_prologue_file_ (),
+ sql_prologue_file_specified_ (false),
+ migration_prologue_file_ (),
+ migration_prologue_file_specified_ (false),
+ sql_interlude_file_ (),
+ sql_interlude_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),
+ schema_epilogue_file_ (),
+ schema_epilogue_file_specified_ (false),
+ sql_epilogue_file_ (),
+ sql_epilogue_file_specified_ (false),
+ migration_epilogue_file_ (),
+ migration_epilogue_file_specified_ (false),
+ odb_prologue_ (),
+ odb_prologue_specified_ (false),
+ odb_prologue_file_ (),
+ odb_prologue_file_specified_ (false),
+ odb_epilogue_ (),
+ odb_epilogue_specified_ (false),
+ odb_epilogue_file_ (),
+ odb_epilogue_file_specified_ (false),
+ table_prefix_ (),
+ table_prefix_specified_ (false),
+ index_suffix_ (),
+ index_suffix_specified_ (false),
+ fkey_suffix_ (),
+ fkey_suffix_specified_ (false),
+ sequence_suffix_ (),
+ sequence_suffix_specified_ (false),
+ sql_name_case_ (),
+ sql_name_case_specified_ (false),
+ table_regex_ (),
+ table_regex_specified_ (false),
+ column_regex_ (),
+ column_regex_specified_ (false),
+ index_regex_ (),
+ index_regex_specified_ (false),
+ fkey_regex_ (),
+ fkey_regex_specified_ (false),
+ sequence_regex_ (),
+ sequence_regex_specified_ (false),
+ statement_regex_ (),
+ statement_regex_specified_ (false),
+ sql_name_regex_ (),
+ sql_name_regex_specified_ (false),
+ sql_name_regex_trace_ (),
+ accessor_regex_ (),
+ accessor_regex_specified_ (false),
+ accessor_regex_trace_ (),
+ modifier_regex_ (),
+ modifier_regex_specified_ (false),
+ modifier_regex_trace_ (),
+ include_with_brackets_ (),
+ include_prefix_ (),
+ include_prefix_specified_ (false),
+ include_regex_ (),
+ include_regex_specified_ (false),
+ include_regex_trace_ (),
+ guard_prefix_ (),
+ guard_prefix_specified_ (false),
+ show_sloc_ (),
+ sloc_limit_ (),
+ sloc_limit_specified_ (false),
+ options_file_ (),
+ options_file_specified_ (false),
+ x_ (),
+ x_specified_ (false),
+ v_ (),
+ trace_ (),
+ mysql_engine_ ("InnoDB"),
+ mysql_engine_specified_ (false),
+ sqlite_override_null_ (),
+ sqlite_lax_auto_id_ (),
+ pgsql_server_version_ (7, 4),
+ pgsql_server_version_specified_ (false),
+ oracle_client_version_ (10, 1),
+ oracle_client_version_specified_ (false),
+ oracle_warn_truncation_ (),
+ mssql_server_version_ (10, 0),
+ mssql_server_version_specified_ (false),
+ mssql_short_limit_ (1024),
+ mssql_short_limit_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)
+: help_ (),
+ version_ (),
+ I_ (),
+ I_specified_ (false),
+ D_ (),
+ D_specified_ (false),
+ U_ (),
+ U_specified_ (false),
+ database_ (),
+ database_specified_ (false),
+ multi_database_ (::multi_database::disabled),
+ multi_database_specified_ (false),
+ default_database_ (),
+ default_database_specified_ (false),
+ generate_query_ (),
+ generate_prepared_ (),
+ omit_unprepared_ (),
+ generate_session_ (),
+ generate_schema_ (),
+ generate_schema_only_ (),
+ suppress_migration_ (),
+ suppress_schema_version_ (),
+ schema_version_table_ (),
+ schema_version_table_specified_ (false),
+ schema_format_ (),
+ schema_format_specified_ (false),
+ omit_drop_ (),
+ omit_create_ (),
+ schema_name_ (),
+ schema_name_specified_ (false),
+ fkeys_deferrable_mode_ (),
+ fkeys_deferrable_mode_specified_ (false),
+ default_pointer_ ("*"),
+ default_pointer_specified_ (false),
+ session_type_ ("odb::session"),
+ session_type_specified_ (false),
+ profile_ (),
+ profile_specified_ (false),
+ at_once_ (),
+ schema_ (),
+ schema_specified_ (false),
+ export_symbol_ (),
+ export_symbol_specified_ (false),
+ extern_symbol_ (),
+ extern_symbol_specified_ (false),
+ std_ (cxx_version::cxx98),
+ std_specified_ (false),
+ warn_hard_add_ (),
+ warn_hard_delete_ (),
+ warn_hard_ (),
+ output_dir_ (),
+ output_dir_specified_ (false),
+ input_name_ (),
+ input_name_specified_ (false),
+ changelog_ (),
+ changelog_specified_ (false),
+ changelog_in_ (),
+ changelog_in_specified_ (false),
+ changelog_out_ (),
+ changelog_out_specified_ (false),
+ changelog_dir_ (),
+ changelog_dir_specified_ (false),
+ init_changelog_ (),
+ odb_file_suffix_ (),
+ odb_file_suffix_specified_ (false),
+ sql_file_suffix_ (),
+ sql_file_suffix_specified_ (false),
+ schema_file_suffix_ (),
+ schema_file_suffix_specified_ (false),
+ changelog_file_suffix_ (),
+ changelog_file_suffix_specified_ (false),
+ hxx_suffix_ (".hxx"),
+ hxx_suffix_specified_ (false),
+ ixx_suffix_ (".ixx"),
+ ixx_suffix_specified_ (false),
+ cxx_suffix_ (".cxx"),
+ cxx_suffix_specified_ (false),
+ sql_suffix_ (".sql"),
+ sql_suffix_specified_ (false),
+ changelog_suffix_ (".xml"),
+ changelog_suffix_specified_ (false),
+ hxx_prologue_ (),
+ hxx_prologue_specified_ (false),
+ ixx_prologue_ (),
+ ixx_prologue_specified_ (false),
+ cxx_prologue_ (),
+ cxx_prologue_specified_ (false),
+ schema_prologue_ (),
+ schema_prologue_specified_ (false),
+ sql_prologue_ (),
+ sql_prologue_specified_ (false),
+ migration_prologue_ (),
+ migration_prologue_specified_ (false),
+ sql_interlude_ (),
+ sql_interlude_specified_ (false),
+ hxx_epilogue_ (),
+ hxx_epilogue_specified_ (false),
+ ixx_epilogue_ (),
+ ixx_epilogue_specified_ (false),
+ cxx_epilogue_ (),
+ cxx_epilogue_specified_ (false),
+ schema_epilogue_ (),
+ schema_epilogue_specified_ (false),
+ sql_epilogue_ (),
+ sql_epilogue_specified_ (false),
+ migration_epilogue_ (),
+ migration_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),
+ schema_prologue_file_ (),
+ schema_prologue_file_specified_ (false),
+ sql_prologue_file_ (),
+ sql_prologue_file_specified_ (false),
+ migration_prologue_file_ (),
+ migration_prologue_file_specified_ (false),
+ sql_interlude_file_ (),
+ sql_interlude_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),
+ schema_epilogue_file_ (),
+ schema_epilogue_file_specified_ (false),
+ sql_epilogue_file_ (),
+ sql_epilogue_file_specified_ (false),
+ migration_epilogue_file_ (),
+ migration_epilogue_file_specified_ (false),
+ odb_prologue_ (),
+ odb_prologue_specified_ (false),
+ odb_prologue_file_ (),
+ odb_prologue_file_specified_ (false),
+ odb_epilogue_ (),
+ odb_epilogue_specified_ (false),
+ odb_epilogue_file_ (),
+ odb_epilogue_file_specified_ (false),
+ table_prefix_ (),
+ table_prefix_specified_ (false),
+ index_suffix_ (),
+ index_suffix_specified_ (false),
+ fkey_suffix_ (),
+ fkey_suffix_specified_ (false),
+ sequence_suffix_ (),
+ sequence_suffix_specified_ (false),
+ sql_name_case_ (),
+ sql_name_case_specified_ (false),
+ table_regex_ (),
+ table_regex_specified_ (false),
+ column_regex_ (),
+ column_regex_specified_ (false),
+ index_regex_ (),
+ index_regex_specified_ (false),
+ fkey_regex_ (),
+ fkey_regex_specified_ (false),
+ sequence_regex_ (),
+ sequence_regex_specified_ (false),
+ statement_regex_ (),
+ statement_regex_specified_ (false),
+ sql_name_regex_ (),
+ sql_name_regex_specified_ (false),
+ sql_name_regex_trace_ (),
+ accessor_regex_ (),
+ accessor_regex_specified_ (false),
+ accessor_regex_trace_ (),
+ modifier_regex_ (),
+ modifier_regex_specified_ (false),
+ modifier_regex_trace_ (),
+ include_with_brackets_ (),
+ include_prefix_ (),
+ include_prefix_specified_ (false),
+ include_regex_ (),
+ include_regex_specified_ (false),
+ include_regex_trace_ (),
+ guard_prefix_ (),
+ guard_prefix_specified_ (false),
+ show_sloc_ (),
+ sloc_limit_ (),
+ sloc_limit_specified_ (false),
+ options_file_ (),
+ options_file_specified_ (false),
+ x_ (),
+ x_specified_ (false),
+ v_ (),
+ trace_ (),
+ mysql_engine_ ("InnoDB"),
+ mysql_engine_specified_ (false),
+ sqlite_override_null_ (),
+ sqlite_lax_auto_id_ (),
+ pgsql_server_version_ (7, 4),
+ pgsql_server_version_specified_ (false),
+ oracle_client_version_ (10, 1),
+ oracle_client_version_specified_ (false),
+ oracle_warn_truncation_ (),
+ mssql_server_version_ (10, 0),
+ mssql_server_version_specified_ (false),
+ mssql_short_limit_ (1024),
+ mssql_short_limit_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)
+: help_ (),
+ version_ (),
+ I_ (),
+ I_specified_ (false),
+ D_ (),
+ D_specified_ (false),
+ U_ (),
+ U_specified_ (false),
+ database_ (),
+ database_specified_ (false),
+ multi_database_ (::multi_database::disabled),
+ multi_database_specified_ (false),
+ default_database_ (),
+ default_database_specified_ (false),
+ generate_query_ (),
+ generate_prepared_ (),
+ omit_unprepared_ (),
+ generate_session_ (),
+ generate_schema_ (),
+ generate_schema_only_ (),
+ suppress_migration_ (),
+ suppress_schema_version_ (),
+ schema_version_table_ (),
+ schema_version_table_specified_ (false),
+ schema_format_ (),
+ schema_format_specified_ (false),
+ omit_drop_ (),
+ omit_create_ (),
+ schema_name_ (),
+ schema_name_specified_ (false),
+ fkeys_deferrable_mode_ (),
+ fkeys_deferrable_mode_specified_ (false),
+ default_pointer_ ("*"),
+ default_pointer_specified_ (false),
+ session_type_ ("odb::session"),
+ session_type_specified_ (false),
+ profile_ (),
+ profile_specified_ (false),
+ at_once_ (),
+ schema_ (),
+ schema_specified_ (false),
+ export_symbol_ (),
+ export_symbol_specified_ (false),
+ extern_symbol_ (),
+ extern_symbol_specified_ (false),
+ std_ (cxx_version::cxx98),
+ std_specified_ (false),
+ warn_hard_add_ (),
+ warn_hard_delete_ (),
+ warn_hard_ (),
+ output_dir_ (),
+ output_dir_specified_ (false),
+ input_name_ (),
+ input_name_specified_ (false),
+ changelog_ (),
+ changelog_specified_ (false),
+ changelog_in_ (),
+ changelog_in_specified_ (false),
+ changelog_out_ (),
+ changelog_out_specified_ (false),
+ changelog_dir_ (),
+ changelog_dir_specified_ (false),
+ init_changelog_ (),
+ odb_file_suffix_ (),
+ odb_file_suffix_specified_ (false),
+ sql_file_suffix_ (),
+ sql_file_suffix_specified_ (false),
+ schema_file_suffix_ (),
+ schema_file_suffix_specified_ (false),
+ changelog_file_suffix_ (),
+ changelog_file_suffix_specified_ (false),
+ hxx_suffix_ (".hxx"),
+ hxx_suffix_specified_ (false),
+ ixx_suffix_ (".ixx"),
+ ixx_suffix_specified_ (false),
+ cxx_suffix_ (".cxx"),
+ cxx_suffix_specified_ (false),
+ sql_suffix_ (".sql"),
+ sql_suffix_specified_ (false),
+ changelog_suffix_ (".xml"),
+ changelog_suffix_specified_ (false),
+ hxx_prologue_ (),
+ hxx_prologue_specified_ (false),
+ ixx_prologue_ (),
+ ixx_prologue_specified_ (false),
+ cxx_prologue_ (),
+ cxx_prologue_specified_ (false),
+ schema_prologue_ (),
+ schema_prologue_specified_ (false),
+ sql_prologue_ (),
+ sql_prologue_specified_ (false),
+ migration_prologue_ (),
+ migration_prologue_specified_ (false),
+ sql_interlude_ (),
+ sql_interlude_specified_ (false),
+ hxx_epilogue_ (),
+ hxx_epilogue_specified_ (false),
+ ixx_epilogue_ (),
+ ixx_epilogue_specified_ (false),
+ cxx_epilogue_ (),
+ cxx_epilogue_specified_ (false),
+ schema_epilogue_ (),
+ schema_epilogue_specified_ (false),
+ sql_epilogue_ (),
+ sql_epilogue_specified_ (false),
+ migration_epilogue_ (),
+ migration_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),
+ schema_prologue_file_ (),
+ schema_prologue_file_specified_ (false),
+ sql_prologue_file_ (),
+ sql_prologue_file_specified_ (false),
+ migration_prologue_file_ (),
+ migration_prologue_file_specified_ (false),
+ sql_interlude_file_ (),
+ sql_interlude_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),
+ schema_epilogue_file_ (),
+ schema_epilogue_file_specified_ (false),
+ sql_epilogue_file_ (),
+ sql_epilogue_file_specified_ (false),
+ migration_epilogue_file_ (),
+ migration_epilogue_file_specified_ (false),
+ odb_prologue_ (),
+ odb_prologue_specified_ (false),
+ odb_prologue_file_ (),
+ odb_prologue_file_specified_ (false),
+ odb_epilogue_ (),
+ odb_epilogue_specified_ (false),
+ odb_epilogue_file_ (),
+ odb_epilogue_file_specified_ (false),
+ table_prefix_ (),
+ table_prefix_specified_ (false),
+ index_suffix_ (),
+ index_suffix_specified_ (false),
+ fkey_suffix_ (),
+ fkey_suffix_specified_ (false),
+ sequence_suffix_ (),
+ sequence_suffix_specified_ (false),
+ sql_name_case_ (),
+ sql_name_case_specified_ (false),
+ table_regex_ (),
+ table_regex_specified_ (false),
+ column_regex_ (),
+ column_regex_specified_ (false),
+ index_regex_ (),
+ index_regex_specified_ (false),
+ fkey_regex_ (),
+ fkey_regex_specified_ (false),
+ sequence_regex_ (),
+ sequence_regex_specified_ (false),
+ statement_regex_ (),
+ statement_regex_specified_ (false),
+ sql_name_regex_ (),
+ sql_name_regex_specified_ (false),
+ sql_name_regex_trace_ (),
+ accessor_regex_ (),
+ accessor_regex_specified_ (false),
+ accessor_regex_trace_ (),
+ modifier_regex_ (),
+ modifier_regex_specified_ (false),
+ modifier_regex_trace_ (),
+ include_with_brackets_ (),
+ include_prefix_ (),
+ include_prefix_specified_ (false),
+ include_regex_ (),
+ include_regex_specified_ (false),
+ include_regex_trace_ (),
+ guard_prefix_ (),
+ guard_prefix_specified_ (false),
+ show_sloc_ (),
+ sloc_limit_ (),
+ sloc_limit_specified_ (false),
+ options_file_ (),
+ options_file_specified_ (false),
+ x_ (),
+ x_specified_ (false),
+ v_ (),
+ trace_ (),
+ mysql_engine_ ("InnoDB"),
+ mysql_engine_specified_ (false),
+ sqlite_override_null_ (),
+ sqlite_lax_auto_id_ (),
+ pgsql_server_version_ (7, 4),
+ pgsql_server_version_specified_ (false),
+ oracle_client_version_ (10, 1),
+ oracle_client_version_specified_ (false),
+ oracle_warn_truncation_ (),
+ mssql_server_version_ (10, 0),
+ mssql_server_version_specified_ (false),
+ mssql_short_limit_ (1024),
+ mssql_short_limit_specified_ (false)
+{
+ _parse (s, opt, arg);
+}
+
+::cli::usage_para options::
+print_usage (::std::ostream& os, ::cli::usage_para p)
+{
+ CLI_POTENTIALLY_UNUSED (os);
+
+ if (p == ::cli::usage_para::text)
+ os << ::std::endl;
+
+ os << "--help Print usage information and exit." << ::std::endl;
+
+ os << "--version Print version and exit." << ::std::endl;
+
+ os << "-I <dir> Add <dir> to the beginning of the list of" << ::std::endl
+ << " directories to be searched for included header" << ::std::endl
+ << " files." << ::std::endl;
+
+ os << "-D <name>[=<def>] Define macro <name> with definition <def>." << ::std::endl;
+
+ os << "-U <name> Cancel any previous definitions of macro <name>," << ::std::endl
+ << " either built-in or provided with the -D option." << ::std::endl;
+
+ os << "--database|-d <db> Generate code for the <db> database." << ::std::endl;
+
+ os << "--multi-database|-m <type> Enable multi-database support and specify its" << ::std::endl
+ << " type." << ::std::endl;
+
+ os << "--default-database <db> When static multi-database support is used," << ::std::endl
+ << " specify the database that should be made the" << ::std::endl
+ << " default." << ::std::endl;
+
+ os << "--generate-query|-q Generate query support code." << ::std::endl;
+
+ os << "--generate-prepared Generate prepared query execution support code." << ::std::endl;
+
+ os << "--omit-unprepared Omit un-prepared (once-off) query execution" << ::std::endl
+ << " support code." << ::std::endl;
+
+ os << "--generate-session|-e Generate session support code." << ::std::endl;
+
+ os << "--generate-schema|-s Generate the database schema." << ::std::endl;
+
+ os << "--generate-schema-only Generate only the database schema." << ::std::endl;
+
+ os << "--suppress-migration Suppress the generation of database schema" << ::std::endl
+ << " migration statements." << ::std::endl;
+
+ os << "--suppress-schema-version Suppress the generation of schema version table." << ::std::endl;
+
+ os << "--schema-version-table <name> Specify the alternative schema version table name" << ::std::endl
+ << " instead of the default schema_version." << ::std::endl;
+
+ os << "--schema-format <format> Generate the database schema in the specified" << ::std::endl
+ << " format." << ::std::endl;
+
+ os << "--omit-drop Omit DROP statements from the generated database" << ::std::endl
+ << " schema." << ::std::endl;
+
+ os << "--omit-create Omit CREATE statements from the generated" << ::std::endl
+ << " database schema." << ::std::endl;
+
+ os << "--schema-name <name> Use <name> as the database schema name." << ::std::endl;
+
+ os << "--fkeys-deferrable-mode <m> Use constraint checking mode <m> in foreign keys" << ::std::endl
+ << " generated for object relationships." << ::std::endl;
+
+ os << "--default-pointer <ptr> Use <ptr> as the default pointer for persistent" << ::std::endl
+ << " objects and views." << ::std::endl;
+
+ os << "--session-type <type> Use <type> as the alternative session type" << ::std::endl
+ << " instead of the default odb::session." << ::std::endl;
+
+ os << "--profile|-p <name> Specify a profile that should be used during" << ::std::endl
+ << " compilation." << ::std::endl;
+
+ os << "--at-once Generate code for all the input files as well as" << ::std::endl
+ << " for all the files that they include at once." << ::std::endl;
+
+ os << "--schema <schema> Specify a database schema (database namespace)" << ::std::endl
+ << " that should be assigned to the persistent classes" << ::std::endl
+ << " in the file being compiled." << ::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 << "--extern-symbol <symbol> If <symbol> is defined, insert it in places where" << ::std::endl
+ << " a template instantiation must be declared extern." << ::std::endl;
+
+ os << "--std <version> Specify the C++ standard that should be used" << ::std::endl
+ << " during compilation." << ::std::endl;
+
+ os << "--warn-hard-add Warn about hard-added data members." << ::std::endl;
+
+ os << "--warn-hard-delete Warn about hard-deleted data members and" << ::std::endl
+ << " persistent classes." << ::std::endl;
+
+ os << "--warn-hard Warn about both hard-added and hard-deleted data" << ::std::endl
+ << " members and persistent classes." << ::std::endl;
+
+ os << "--output-dir|-o <dir> Write the generated files to <dir> instead of the" << ::std::endl
+ << " current directory." << ::std::endl;
+
+ os << "--input-name <name> Use <name> instead of the input file to derive" << ::std::endl
+ << " the names of the generated files." << ::std::endl;
+
+ os << "--changelog <file> Read/write changelog from/to <file> instead of" << ::std::endl
+ << " the default changelog file." << ::std::endl;
+
+ os << "--changelog-in <file> Read changelog from <file> instead of the default" << ::std::endl
+ << " changelog file." << ::std::endl;
+
+ os << "--changelog-out <file> Write changelog to <file> instead of the default" << ::std::endl
+ << " changelog file." << ::std::endl;
+
+ os << "--changelog-dir <dir> Use <dir> instead of the input file directory as" << ::std::endl
+ << " the changelog file directory." << ::std::endl;
+
+ os << "--init-changelog Force re-initialization of the changelog even if" << ::std::endl
+ << " one exists (all the existing change history will" << ::std::endl
+ << " be lost)." << ::std::endl;
+
+ os << "--odb-file-suffix <suffix> Use <suffix> to construct the names of the" << ::std::endl
+ << " generated C++ files." << ::std::endl;
+
+ os << "--sql-file-suffix <suffix> Use <suffix> to construct the name of the" << ::std::endl
+ << " generated schema SQL file." << ::std::endl;
+
+ os << "--schema-file-suffix <suffix> Use <suffix> to construct the name of the" << ::std::endl
+ << " generated schema C++ source file." << ::std::endl;
+
+ os << "--changelog-file-suffix <sfx> Use <sfx> to construct the name of the changelog" << ::std::endl
+ << " file." << ::std::endl;
+
+ os << "--hxx-suffix <suffix> Use <suffix> instead of the default .hxx to" << ::std::endl
+ << " construct the name of the generated C++ header" << ::std::endl
+ << " file." << ::std::endl;
+
+ os << "--ixx-suffix <suffix> Use <suffix> instead of the default .ixx to" << ::std::endl
+ << " construct the name of the generated C++ inline" << ::std::endl
+ << " file." << ::std::endl;
+
+ os << "--cxx-suffix <suffix> Use <suffix> instead of the default .cxx to" << ::std::endl
+ << " construct the name of the generated C++ source" << ::std::endl
+ << " file." << ::std::endl;
+
+ os << "--sql-suffix <suffix> Use <suffix> instead of the default .sql to" << ::std::endl
+ << " construct the name of the generated database" << ::std::endl
+ << " schema file." << ::std::endl;
+
+ os << "--changelog-suffix <suffix> Use <suffix> instead of the default .xml to" << ::std::endl
+ << " construct the name of the changelog file." << ::std::endl;
+
+ os << "--hxx-prologue <text> Insert <text> at the beginning of the generated" << ::std::endl
+ << " C++ header file." << ::std::endl;
+
+ os << "--ixx-prologue <text> Insert <text> at the beginning of the generated" << ::std::endl
+ << " C++ inline file." << ::std::endl;
+
+ os << "--cxx-prologue <text> Insert <text> at the beginning of the generated" << ::std::endl
+ << " C++ source file." << ::std::endl;
+
+ os << "--schema-prologue <text> Insert <text> at the beginning of the generated" << ::std::endl
+ << " schema C++ source file." << ::std::endl;
+
+ os << "--sql-prologue <text> Insert <text> at the beginning of the generated" << ::std::endl
+ << " database schema file." << ::std::endl;
+
+ os << "--migration-prologue <text> Insert <text> at the beginning of the generated" << ::std::endl
+ << " database migration file." << ::std::endl;
+
+ os << "--sql-interlude <text> Insert <text> after all the DROP and before any" << ::std::endl
+ << " CREATE statements in the generated database" << ::std::endl
+ << " schema file." << ::std::endl;
+
+ os << "--hxx-epilogue <text> Insert <text> at the end of the generated C++" << ::std::endl
+ << " header file." << ::std::endl;
+
+ os << "--ixx-epilogue <text> Insert <text> at the end of the generated C++" << ::std::endl
+ << " inline file." << ::std::endl;
+
+ os << "--cxx-epilogue <text> Insert <text> at the end of the generated C++" << ::std::endl
+ << " source file." << ::std::endl;
+
+ os << "--schema-epilogue <text> Insert <text> at the end of the generated schema" << ::std::endl
+ << " C++ source file." << ::std::endl;
+
+ os << "--sql-epilogue <text> Insert <text> at the end of the generated" << ::std::endl
+ << " database schema file." << ::std::endl;
+
+ os << "--migration-epilogue <text> Insert <text> at the end of the generated" << ::std::endl
+ << " database migration file." << ::std::endl;
+
+ os << "--hxx-prologue-file <file> Insert the content of <file> at the beginning of" << ::std::endl
+ << " the generated C++ header file." << ::std::endl;
+
+ os << "--ixx-prologue-file <file> Insert the content of <file> at the beginning of" << ::std::endl
+ << " the generated C++ inline file." << ::std::endl;
+
+ os << "--cxx-prologue-file <file> Insert the content of <file> at the beginning of" << ::std::endl
+ << " the generated C++ source file." << ::std::endl;
+
+ os << "--schema-prologue-file <file> Insert the content of <file> at the beginning of" << ::std::endl
+ << " the generated schema C++ source file." << ::std::endl;
+
+ os << "--sql-prologue-file <file> Insert the content of <file> at the beginning of" << ::std::endl
+ << " the generated database schema file." << ::std::endl;
+
+ os << "--migration-prologue-file <f> Insert the content of file <f> at the beginning" << ::std::endl
+ << " of the generated database migration file." << ::std::endl;
+
+ os << "--sql-interlude-file <file> Insert the content of <file> after all the DROP" << ::std::endl
+ << " and before any CREATE statements in the generated" << ::std::endl
+ << " database schema file." << ::std::endl;
+
+ os << "--hxx-epilogue-file <file> Insert the content of <file> at the end of the" << ::std::endl
+ << " generated C++ header file." << ::std::endl;
+
+ os << "--ixx-epilogue-file <file> Insert the content of <file> at the end of the" << ::std::endl
+ << " generated C++ inline file." << ::std::endl;
+
+ os << "--cxx-epilogue-file <file> Insert the content of <file> at the end of the" << ::std::endl
+ << " generated C++ source file." << ::std::endl;
+
+ os << "--schema-epilogue-file <file> Insert the content of <file> at the end of the" << ::std::endl
+ << " generated schema C++ source file." << ::std::endl;
+
+ os << "--sql-epilogue-file <file> Insert the content of <file> at the end of the" << ::std::endl
+ << " generated database schema file." << ::std::endl;
+
+ os << "--migration-epilogue-file <f> Insert the content of file <f> at the end of the" << ::std::endl
+ << " generated database migration file." << ::std::endl;
+
+ os << "--odb-prologue <text> Compile <text> before the input header file." << ::std::endl;
+
+ os << "--odb-prologue-file <file> Compile <file> contents before the input header" << ::std::endl
+ << " file." << ::std::endl;
+
+ os << "--odb-epilogue <text> Compile <text> after the input header file." << ::std::endl;
+
+ os << "--odb-epilogue-file <file> Compile <file> contents after the input header" << ::std::endl
+ << " file." << ::std::endl;
+
+ os << "--table-prefix <prefix> Add <prefix> to table names and, for databases" << ::std::endl
+ << " that have global index and/or foreign key names," << ::std::endl
+ << " to those names as well." << ::std::endl;
+
+ os << "--index-suffix <suffix> Use <suffix> instead of the default _i to" << ::std::endl
+ << " construct index names." << ::std::endl;
+
+ os << "--fkey-suffix <suffix> Use <suffix> instead of the default _fk to" << ::std::endl
+ << " construct foreign key names." << ::std::endl;
+
+ os << "--sequence-suffix <suffix> Use <suffix> instead of the default _seq to" << ::std::endl
+ << " construct sequence names." << ::std::endl;
+
+ os << "--sql-name-case <case> Convert all automatically-derived SQL names to" << ::std::endl
+ << " upper or lower case." << ::std::endl;
+
+ os << "--table-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform automatically-derived" << ::std::endl
+ << " table names." << ::std::endl;
+
+ os << "--column-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform automatically-derived" << ::std::endl
+ << " column names." << ::std::endl;
+
+ os << "--index-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform automatically-derived" << ::std::endl
+ << " index names." << ::std::endl;
+
+ os << "--fkey-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform automatically-derived" << ::std::endl
+ << " foreign key names." << ::std::endl;
+
+ os << "--sequence-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform automatically-derived" << ::std::endl
+ << " sequence names." << ::std::endl;
+
+ os << "--statement-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform automatically-derived" << ::std::endl
+ << " prepared statement names." << ::std::endl;
+
+ os << "--sql-name-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " that is used to transform all" << ::std::endl
+ << " automatically-derived SQL names." << ::std::endl;
+
+ os << "--sql-name-regex-trace Trace the process of applying regular expressions" << ::std::endl
+ << " specified with the SQL name --*-regex options." << ::std::endl;
+
+ os << "--accessor-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " used to transform data member names to function" << ::std::endl
+ << " names when searching for a suitable accessor" << ::std::endl
+ << " function." << ::std::endl;
+
+ os << "--accessor-regex-trace Trace the process of applying regular expressions" << ::std::endl
+ << " specified with the --accessor-regex option." << ::std::endl;
+
+ os << "--modifier-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl
+ << " used to transform data member names to function" << ::std::endl
+ << " names when searching for a suitable modifier" << ::std::endl
+ << " function." << ::std::endl;
+
+ os << "--modifier-regex-trace Trace the process of applying regular expressions" << ::std::endl
+ << " specified with the --modifier-regex option." << ::std::endl;
+
+ os << "--include-with-brackets Use angle brackets (<>) instead of quotes (\"\") in" << ::std::endl
+ << " the generated #include directives." << ::std::endl;
+
+ os << "--include-prefix <prefix> Add <prefix> to the 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 generated #include directive" << ::std::endl
+ << " 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 the generated header inclusion" << ::std::endl
+ << " guards." << ::std::endl;
+
+ os << "--show-sloc Print the number of generated physical source" << ::std::endl
+ << " lines of code (SLOC)." << ::std::endl;
+
+ os << "--sloc-limit <num> Check that the number of generated physical" << ::std::endl
+ << " source lines of code (SLOC) does not exceed" << ::std::endl
+ << " <num>." << ::std::endl;
+
+ os << "--options-file <file> Read additional options from <file> with each" << ::std::endl
+ << " option appearing on a separate line optionally" << ::std::endl
+ << " followed by space and an option value." << ::std::endl;
+
+ os << "-x <option> Pass <option> to the underlying C++ compiler" << ::std::endl
+ << " (g++)." << ::std::endl;
+
+ os << "-v Print the commands executed to run the stages of" << ::std::endl
+ << " compilation." << ::std::endl;
+
+ os << "--trace Trace the compilation process." << ::std::endl;
+
+ os << "--mysql-engine <engine> Use <engine> instead of the default InnoDB in the" << ::std::endl
+ << " generated database schema file." << ::std::endl;
+
+ os << "--sqlite-override-null Make all columns in the generated database schema" << ::std::endl
+ << " allow NULL values." << ::std::endl;
+
+ os << "--sqlite-lax-auto-id Do not force monotonically increasing" << ::std::endl
+ << " automatically-assigned object ids." << ::std::endl;
+
+ os << "--pgsql-server-version <ver> Specify the minimum PostgreSQL server version" << ::std::endl
+ << " with which the generated C++ code and schema will" << ::std::endl
+ << " be used." << ::std::endl;
+
+ os << "--oracle-client-version <ver> Specify the minimum Oracle client library (OCI)" << ::std::endl
+ << " version with which the generated C++ code will be" << ::std::endl
+ << " linked." << ::std::endl;
+
+ os << "--oracle-warn-truncation Warn about SQL names that are longer than 30" << ::std::endl
+ << " characters and are therefore truncated." << ::std::endl;
+
+ os << "--mssql-server-version <ver> Specify the minimum SQL Server server version" << ::std::endl
+ << " with which the generated C++ code and schema will" << ::std::endl
+ << " be used." << ::std::endl;
+
+ os << "--mssql-short-limit <size> Specify the short data size limit." << ::std::endl;
+
+ p = ::cli::usage_para::option;
+
+ return p;
+}
+
+struct _cli_options_desc_type: ::cli::options
+{
+ _cli_options_desc_type ()
+ {
+ ::options::fill (*this);
+ }
+};
+
+static _cli_options_desc_type _cli_options_desc_;
+
+void options::
+fill (::cli::options& os)
+{
+ // --help
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--help", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --version
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--version", a, true, dv);
+ os.push_back (o);
+ }
+
+ // -I
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("-I", a, false, dv);
+ os.push_back (o);
+ }
+
+ // -D
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("-D", a, false, dv);
+ os.push_back (o);
+ }
+
+ // -U
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("-U", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --database
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-d");
+ std::string dv;
+ ::cli::option o ("--database", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --multi-database
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-m");
+ std::string dv;
+ ::cli::option o ("--multi-database", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --default-database
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--default-database", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --generate-query
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-q");
+ std::string dv;
+ ::cli::option o ("--generate-query", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --generate-prepared
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--generate-prepared", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --omit-unprepared
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--omit-unprepared", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --generate-session
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-e");
+ std::string dv;
+ ::cli::option o ("--generate-session", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --generate-schema
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-s");
+ std::string dv;
+ ::cli::option o ("--generate-schema", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --generate-schema-only
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--generate-schema-only", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --suppress-migration
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--suppress-migration", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --suppress-schema-version
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--suppress-schema-version", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --schema-version-table
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-version-table", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --schema-format
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-format", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --omit-drop
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--omit-drop", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --omit-create
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--omit-create", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --schema-name
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-name", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --fkeys-deferrable-mode
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--fkeys-deferrable-mode", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --default-pointer
+ //
+ {
+ ::cli::option_names a;
+ std::string dv ("*");
+ ::cli::option o ("--default-pointer", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --session-type
+ //
+ {
+ ::cli::option_names a;
+ std::string dv ("odb::session");
+ ::cli::option o ("--session-type", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --profile
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-p");
+ std::string dv;
+ ::cli::option o ("--profile", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --at-once
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--at-once", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --schema
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --export-symbol
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--export-symbol", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --extern-symbol
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--extern-symbol", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --std
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--std", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --warn-hard-add
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--warn-hard-add", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --warn-hard-delete
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--warn-hard-delete", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --warn-hard
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--warn-hard", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --output-dir
+ //
+ {
+ ::cli::option_names a;
+ a.push_back ("-o");
+ std::string dv;
+ ::cli::option o ("--output-dir", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --input-name
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--input-name", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --changelog
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--changelog", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --changelog-in
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--changelog-in", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --changelog-out
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--changelog-out", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --changelog-dir
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--changelog-dir", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --init-changelog
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--init-changelog", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --odb-file-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--odb-file-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-file-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-file-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --schema-file-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-file-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --changelog-file-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--changelog-file-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --hxx-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv (".hxx");
+ ::cli::option o ("--hxx-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --ixx-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv (".ixx");
+ ::cli::option o ("--ixx-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --cxx-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv (".cxx");
+ ::cli::option o ("--cxx-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv (".sql");
+ ::cli::option o ("--sql-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --changelog-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv (".xml");
+ ::cli::option o ("--changelog-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --hxx-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--hxx-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --ixx-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--ixx-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --cxx-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--cxx-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --schema-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --migration-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--migration-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-interlude
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-interlude", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --hxx-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--hxx-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --ixx-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--ixx-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --cxx-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--cxx-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --schema-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --migration-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--migration-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --hxx-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--hxx-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --ixx-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--ixx-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --cxx-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--cxx-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --schema-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --migration-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--migration-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-interlude-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-interlude-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --hxx-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--hxx-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --ixx-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--ixx-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --cxx-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--cxx-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --schema-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--schema-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --migration-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--migration-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --odb-prologue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--odb-prologue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --odb-prologue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--odb-prologue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --odb-epilogue
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--odb-epilogue", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --odb-epilogue-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--odb-epilogue-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --table-prefix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--table-prefix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --index-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--index-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --fkey-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--fkey-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sequence-suffix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sequence-suffix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-name-case
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-name-case", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --table-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--table-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --column-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--column-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --index-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--index-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --fkey-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--fkey-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sequence-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sequence-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --statement-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--statement-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-name-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-name-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sql-name-regex-trace
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sql-name-regex-trace", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --accessor-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--accessor-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --accessor-regex-trace
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--accessor-regex-trace", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --modifier-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--modifier-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --modifier-regex-trace
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--modifier-regex-trace", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --include-with-brackets
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--include-with-brackets", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --include-prefix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--include-prefix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --include-regex
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--include-regex", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --include-regex-trace
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--include-regex-trace", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --guard-prefix
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--guard-prefix", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --show-sloc
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--show-sloc", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --sloc-limit
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sloc-limit", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --options-file
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--options-file", a, false, dv);
+ os.push_back (o);
+ }
+
+ // -x
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("-x", a, false, dv);
+ os.push_back (o);
+ }
+
+ // -v
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("-v", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --trace
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--trace", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --mysql-engine
+ //
+ {
+ ::cli::option_names a;
+ std::string dv ("InnoDB");
+ ::cli::option o ("--mysql-engine", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --sqlite-override-null
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sqlite-override-null", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --sqlite-lax-auto-id
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--sqlite-lax-auto-id", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --pgsql-server-version
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--pgsql-server-version", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --oracle-client-version
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--oracle-client-version", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --oracle-warn-truncation
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--oracle-warn-truncation", a, true, dv);
+ os.push_back (o);
+ }
+
+ // --mssql-server-version
+ //
+ {
+ ::cli::option_names a;
+ std::string dv;
+ ::cli::option o ("--mssql-server-version", a, false, dv);
+ os.push_back (o);
+ }
+
+ // --mssql-short-limit
+ //
+ {
+ ::cli::option_names a;
+ std::string dv ("1024");
+ ::cli::option o ("--mssql-short-limit", a, false, dv);
+ os.push_back (o);
+ }
+}
+
+const ::cli::options& options::
+description ()
+{
+ return _cli_options_desc_;
+}
+
+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_["--help"] =
+ &::cli::thunk< options, bool, &options::help_ >;
+ _cli_options_map_["--version"] =
+ &::cli::thunk< options, bool, &options::version_ >;
+ _cli_options_map_["-I"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::I_,
+ &options::I_specified_ >;
+ _cli_options_map_["-D"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::D_,
+ &options::D_specified_ >;
+ _cli_options_map_["-U"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::U_,
+ &options::U_specified_ >;
+ _cli_options_map_["--database"] =
+ &::cli::thunk< options, std::vector< ::database>, &options::database_,
+ &options::database_specified_ >;
+ _cli_options_map_["-d"] =
+ &::cli::thunk< options, std::vector< ::database>, &options::database_,
+ &options::database_specified_ >;
+ _cli_options_map_["--multi-database"] =
+ &::cli::thunk< options, ::multi_database, &options::multi_database_,
+ &options::multi_database_specified_ >;
+ _cli_options_map_["-m"] =
+ &::cli::thunk< options, ::multi_database, &options::multi_database_,
+ &options::multi_database_specified_ >;
+ _cli_options_map_["--default-database"] =
+ &::cli::thunk< options, ::database, &options::default_database_,
+ &options::default_database_specified_ >;
+ _cli_options_map_["--generate-query"] =
+ &::cli::thunk< options, bool, &options::generate_query_ >;
+ _cli_options_map_["-q"] =
+ &::cli::thunk< options, bool, &options::generate_query_ >;
+ _cli_options_map_["--generate-prepared"] =
+ &::cli::thunk< options, bool, &options::generate_prepared_ >;
+ _cli_options_map_["--omit-unprepared"] =
+ &::cli::thunk< options, bool, &options::omit_unprepared_ >;
+ _cli_options_map_["--generate-session"] =
+ &::cli::thunk< options, bool, &options::generate_session_ >;
+ _cli_options_map_["-e"] =
+ &::cli::thunk< options, bool, &options::generate_session_ >;
+ _cli_options_map_["--generate-schema"] =
+ &::cli::thunk< options, bool, &options::generate_schema_ >;
+ _cli_options_map_["-s"] =
+ &::cli::thunk< options, bool, &options::generate_schema_ >;
+ _cli_options_map_["--generate-schema-only"] =
+ &::cli::thunk< options, bool, &options::generate_schema_only_ >;
+ _cli_options_map_["--suppress-migration"] =
+ &::cli::thunk< options, bool, &options::suppress_migration_ >;
+ _cli_options_map_["--suppress-schema-version"] =
+ &::cli::thunk< options, bool, &options::suppress_schema_version_ >;
+ _cli_options_map_["--schema-version-table"] =
+ &::cli::thunk< options, database_map<qname>, &options::schema_version_table_,
+ &options::schema_version_table_specified_ >;
+ _cli_options_map_["--schema-format"] =
+ &::cli::thunk< options, database_map<std::set< ::schema_format> >, &options::schema_format_,
+ &options::schema_format_specified_ >;
+ _cli_options_map_["--omit-drop"] =
+ &::cli::thunk< options, bool, &options::omit_drop_ >;
+ _cli_options_map_["--omit-create"] =
+ &::cli::thunk< options, bool, &options::omit_create_ >;
+ _cli_options_map_["--schema-name"] =
+ &::cli::thunk< options, database_map<std::string>, &options::schema_name_,
+ &options::schema_name_specified_ >;
+ _cli_options_map_["--fkeys-deferrable-mode"] =
+ &::cli::thunk< options, database_map<deferrable>, &options::fkeys_deferrable_mode_,
+ &options::fkeys_deferrable_mode_specified_ >;
+ _cli_options_map_["--default-pointer"] =
+ &::cli::thunk< options, std::string, &options::default_pointer_,
+ &options::default_pointer_specified_ >;
+ _cli_options_map_["--session-type"] =
+ &::cli::thunk< options, std::string, &options::session_type_,
+ &options::session_type_specified_ >;
+ _cli_options_map_["--profile"] =
+ &::cli::thunk< options, std::string, &options::profile_,
+ &options::profile_specified_ >;
+ _cli_options_map_["-p"] =
+ &::cli::thunk< options, std::string, &options::profile_,
+ &options::profile_specified_ >;
+ _cli_options_map_["--at-once"] =
+ &::cli::thunk< options, bool, &options::at_once_ >;
+ _cli_options_map_["--schema"] =
+ &::cli::thunk< options, database_map<qname>, &options::schema_,
+ &options::schema_specified_ >;
+ _cli_options_map_["--export-symbol"] =
+ &::cli::thunk< options, database_map<std::string>, &options::export_symbol_,
+ &options::export_symbol_specified_ >;
+ _cli_options_map_["--extern-symbol"] =
+ &::cli::thunk< options, database_map<std::string>, &options::extern_symbol_,
+ &options::extern_symbol_specified_ >;
+ _cli_options_map_["--std"] =
+ &::cli::thunk< options, cxx_version, &options::std_,
+ &options::std_specified_ >;
+ _cli_options_map_["--warn-hard-add"] =
+ &::cli::thunk< options, bool, &options::warn_hard_add_ >;
+ _cli_options_map_["--warn-hard-delete"] =
+ &::cli::thunk< options, bool, &options::warn_hard_delete_ >;
+ _cli_options_map_["--warn-hard"] =
+ &::cli::thunk< options, bool, &options::warn_hard_ >;
+ _cli_options_map_["--output-dir"] =
+ &::cli::thunk< options, std::string, &options::output_dir_,
+ &options::output_dir_specified_ >;
+ _cli_options_map_["-o"] =
+ &::cli::thunk< options, std::string, &options::output_dir_,
+ &options::output_dir_specified_ >;
+ _cli_options_map_["--input-name"] =
+ &::cli::thunk< options, std::string, &options::input_name_,
+ &options::input_name_specified_ >;
+ _cli_options_map_["--changelog"] =
+ &::cli::thunk< options, database_map<std::string>, &options::changelog_,
+ &options::changelog_specified_ >;
+ _cli_options_map_["--changelog-in"] =
+ &::cli::thunk< options, database_map<std::string>, &options::changelog_in_,
+ &options::changelog_in_specified_ >;
+ _cli_options_map_["--changelog-out"] =
+ &::cli::thunk< options, database_map<std::string>, &options::changelog_out_,
+ &options::changelog_out_specified_ >;
+ _cli_options_map_["--changelog-dir"] =
+ &::cli::thunk< options, database_map<std::string>, &options::changelog_dir_,
+ &options::changelog_dir_specified_ >;
+ _cli_options_map_["--init-changelog"] =
+ &::cli::thunk< options, bool, &options::init_changelog_ >;
+ _cli_options_map_["--odb-file-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::odb_file_suffix_,
+ &options::odb_file_suffix_specified_ >;
+ _cli_options_map_["--sql-file-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::sql_file_suffix_,
+ &options::sql_file_suffix_specified_ >;
+ _cli_options_map_["--schema-file-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::schema_file_suffix_,
+ &options::schema_file_suffix_specified_ >;
+ _cli_options_map_["--changelog-file-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::changelog_file_suffix_,
+ &options::changelog_file_suffix_specified_ >;
+ _cli_options_map_["--hxx-suffix"] =
+ &::cli::thunk< options, std::string, &options::hxx_suffix_,
+ &options::hxx_suffix_specified_ >;
+ _cli_options_map_["--ixx-suffix"] =
+ &::cli::thunk< options, std::string, &options::ixx_suffix_,
+ &options::ixx_suffix_specified_ >;
+ _cli_options_map_["--cxx-suffix"] =
+ &::cli::thunk< options, std::string, &options::cxx_suffix_,
+ &options::cxx_suffix_specified_ >;
+ _cli_options_map_["--sql-suffix"] =
+ &::cli::thunk< options, std::string, &options::sql_suffix_,
+ &options::sql_suffix_specified_ >;
+ _cli_options_map_["--changelog-suffix"] =
+ &::cli::thunk< options, std::string, &options::changelog_suffix_,
+ &options::changelog_suffix_specified_ >;
+ _cli_options_map_["--hxx-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::hxx_prologue_,
+ &options::hxx_prologue_specified_ >;
+ _cli_options_map_["--ixx-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::ixx_prologue_,
+ &options::ixx_prologue_specified_ >;
+ _cli_options_map_["--cxx-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::cxx_prologue_,
+ &options::cxx_prologue_specified_ >;
+ _cli_options_map_["--schema-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::schema_prologue_,
+ &options::schema_prologue_specified_ >;
+ _cli_options_map_["--sql-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_prologue_,
+ &options::sql_prologue_specified_ >;
+ _cli_options_map_["--migration-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::migration_prologue_,
+ &options::migration_prologue_specified_ >;
+ _cli_options_map_["--sql-interlude"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_interlude_,
+ &options::sql_interlude_specified_ >;
+ _cli_options_map_["--hxx-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::hxx_epilogue_,
+ &options::hxx_epilogue_specified_ >;
+ _cli_options_map_["--ixx-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::ixx_epilogue_,
+ &options::ixx_epilogue_specified_ >;
+ _cli_options_map_["--cxx-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::cxx_epilogue_,
+ &options::cxx_epilogue_specified_ >;
+ _cli_options_map_["--schema-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::schema_epilogue_,
+ &options::schema_epilogue_specified_ >;
+ _cli_options_map_["--sql-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_epilogue_,
+ &options::sql_epilogue_specified_ >;
+ _cli_options_map_["--migration-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::migration_epilogue_,
+ &options::migration_epilogue_specified_ >;
+ _cli_options_map_["--hxx-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::hxx_prologue_file_,
+ &options::hxx_prologue_file_specified_ >;
+ _cli_options_map_["--ixx-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::ixx_prologue_file_,
+ &options::ixx_prologue_file_specified_ >;
+ _cli_options_map_["--cxx-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::cxx_prologue_file_,
+ &options::cxx_prologue_file_specified_ >;
+ _cli_options_map_["--schema-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::schema_prologue_file_,
+ &options::schema_prologue_file_specified_ >;
+ _cli_options_map_["--sql-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_prologue_file_,
+ &options::sql_prologue_file_specified_ >;
+ _cli_options_map_["--migration-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::migration_prologue_file_,
+ &options::migration_prologue_file_specified_ >;
+ _cli_options_map_["--sql-interlude-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_interlude_file_,
+ &options::sql_interlude_file_specified_ >;
+ _cli_options_map_["--hxx-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::hxx_epilogue_file_,
+ &options::hxx_epilogue_file_specified_ >;
+ _cli_options_map_["--ixx-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::ixx_epilogue_file_,
+ &options::ixx_epilogue_file_specified_ >;
+ _cli_options_map_["--cxx-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::cxx_epilogue_file_,
+ &options::cxx_epilogue_file_specified_ >;
+ _cli_options_map_["--schema-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::schema_epilogue_file_,
+ &options::schema_epilogue_file_specified_ >;
+ _cli_options_map_["--sql-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_epilogue_file_,
+ &options::sql_epilogue_file_specified_ >;
+ _cli_options_map_["--migration-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::migration_epilogue_file_,
+ &options::migration_epilogue_file_specified_ >;
+ _cli_options_map_["--odb-prologue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::odb_prologue_,
+ &options::odb_prologue_specified_ >;
+ _cli_options_map_["--odb-prologue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::odb_prologue_file_,
+ &options::odb_prologue_file_specified_ >;
+ _cli_options_map_["--odb-epilogue"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::odb_epilogue_,
+ &options::odb_epilogue_specified_ >;
+ _cli_options_map_["--odb-epilogue-file"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::odb_epilogue_file_,
+ &options::odb_epilogue_file_specified_ >;
+ _cli_options_map_["--table-prefix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::table_prefix_,
+ &options::table_prefix_specified_ >;
+ _cli_options_map_["--index-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::index_suffix_,
+ &options::index_suffix_specified_ >;
+ _cli_options_map_["--fkey-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::fkey_suffix_,
+ &options::fkey_suffix_specified_ >;
+ _cli_options_map_["--sequence-suffix"] =
+ &::cli::thunk< options, database_map<std::string>, &options::sequence_suffix_,
+ &options::sequence_suffix_specified_ >;
+ _cli_options_map_["--sql-name-case"] =
+ &::cli::thunk< options, database_map<name_case>, &options::sql_name_case_,
+ &options::sql_name_case_specified_ >;
+ _cli_options_map_["--table-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::table_regex_,
+ &options::table_regex_specified_ >;
+ _cli_options_map_["--column-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::column_regex_,
+ &options::column_regex_specified_ >;
+ _cli_options_map_["--index-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::index_regex_,
+ &options::index_regex_specified_ >;
+ _cli_options_map_["--fkey-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::fkey_regex_,
+ &options::fkey_regex_specified_ >;
+ _cli_options_map_["--sequence-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sequence_regex_,
+ &options::sequence_regex_specified_ >;
+ _cli_options_map_["--statement-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::statement_regex_,
+ &options::statement_regex_specified_ >;
+ _cli_options_map_["--sql-name-regex"] =
+ &::cli::thunk< options, database_map<std::vector<std::string> >, &options::sql_name_regex_,
+ &options::sql_name_regex_specified_ >;
+ _cli_options_map_["--sql-name-regex-trace"] =
+ &::cli::thunk< options, bool, &options::sql_name_regex_trace_ >;
+ _cli_options_map_["--accessor-regex"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::accessor_regex_,
+ &options::accessor_regex_specified_ >;
+ _cli_options_map_["--accessor-regex-trace"] =
+ &::cli::thunk< options, bool, &options::accessor_regex_trace_ >;
+ _cli_options_map_["--modifier-regex"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::modifier_regex_,
+ &options::modifier_regex_specified_ >;
+ _cli_options_map_["--modifier-regex-trace"] =
+ &::cli::thunk< options, bool, &options::modifier_regex_trace_ >;
+ _cli_options_map_["--include-with-brackets"] =
+ &::cli::thunk< options, bool, &options::include_with_brackets_ >;
+ _cli_options_map_["--include-prefix"] =
+ &::cli::thunk< options, std::string, &options::include_prefix_,
+ &options::include_prefix_specified_ >;
+ _cli_options_map_["--include-regex"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::include_regex_,
+ &options::include_regex_specified_ >;
+ _cli_options_map_["--include-regex-trace"] =
+ &::cli::thunk< options, bool, &options::include_regex_trace_ >;
+ _cli_options_map_["--guard-prefix"] =
+ &::cli::thunk< options, std::string, &options::guard_prefix_,
+ &options::guard_prefix_specified_ >;
+ _cli_options_map_["--show-sloc"] =
+ &::cli::thunk< options, bool, &options::show_sloc_ >;
+ _cli_options_map_["--sloc-limit"] =
+ &::cli::thunk< options, std::size_t, &options::sloc_limit_,
+ &options::sloc_limit_specified_ >;
+ _cli_options_map_["--options-file"] =
+ &::cli::thunk< options, std::string, &options::options_file_,
+ &options::options_file_specified_ >;
+ _cli_options_map_["-x"] =
+ &::cli::thunk< options, std::vector<std::string>, &options::x_,
+ &options::x_specified_ >;
+ _cli_options_map_["-v"] =
+ &::cli::thunk< options, bool, &options::v_ >;
+ _cli_options_map_["--trace"] =
+ &::cli::thunk< options, bool, &options::trace_ >;
+ _cli_options_map_["--mysql-engine"] =
+ &::cli::thunk< options, std::string, &options::mysql_engine_,
+ &options::mysql_engine_specified_ >;
+ _cli_options_map_["--sqlite-override-null"] =
+ &::cli::thunk< options, bool, &options::sqlite_override_null_ >;
+ _cli_options_map_["--sqlite-lax-auto-id"] =
+ &::cli::thunk< options, bool, &options::sqlite_lax_auto_id_ >;
+ _cli_options_map_["--pgsql-server-version"] =
+ &::cli::thunk< options, ::pgsql_version, &options::pgsql_server_version_,
+ &options::pgsql_server_version_specified_ >;
+ _cli_options_map_["--oracle-client-version"] =
+ &::cli::thunk< options, ::oracle_version, &options::oracle_client_version_,
+ &options::oracle_client_version_specified_ >;
+ _cli_options_map_["--oracle-warn-truncation"] =
+ &::cli::thunk< options, bool, &options::oracle_warn_truncation_ >;
+ _cli_options_map_["--mssql-server-version"] =
+ &::cli::thunk< options, ::mssql_version, &options::mssql_server_version_,
+ &options::mssql_server_version_specified_ >;
+ _cli_options_map_["--mssql-short-limit"] =
+ &::cli::thunk< options, unsigned int, &options::mssql_short_limit_,
+ &options::mssql_short_limit_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;
+ }
+
+ 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/odb/options.hxx b/odb/options.hxx
new file mode 100644
index 0000000..8569733
--- /dev/null
+++ b/odb/options.hxx
@@ -0,0 +1,2252 @@
+// -*- C++ -*-
+//
+// This file was generated by CLI, a command line interface
+// compiler for C++.
+//
+
+#ifndef ODB_OPTIONS_HXX
+#define ODB_OPTIONS_HXX
+
+// Begin prologue.
+//
+//
+// End prologue.
+
+#include <deque>
+#include <map>
+#include <vector>
+#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::ostream&) const = 0;
+ };
+
+ ::std::ostream&
+ operator<< (::std::ostream&, const exception&);
+
+ class unknown_option: public exception
+ {
+ public:
+ virtual
+ ~unknown_option () throw ();
+
+ unknown_option (const std::string& option);
+
+ const std::string&
+ option () const;
+
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+
+ private:
+ std::string option_;
+ };
+
+ class unknown_argument: public exception
+ {
+ public:
+ virtual
+ ~unknown_argument () throw ();
+
+ unknown_argument (const std::string& argument);
+
+ const std::string&
+ argument () const;
+
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+
+ private:
+ std::string argument_;
+ };
+
+ class missing_value: public exception
+ {
+ public:
+ virtual
+ ~missing_value () throw ();
+
+ missing_value (const std::string& option);
+
+ const std::string&
+ option () const;
+
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+
+ private:
+ std::string option_;
+ };
+
+ class invalid_value: public exception
+ {
+ public:
+ virtual
+ ~invalid_value () throw ();
+
+ invalid_value (const std::string& option,
+ const std::string& value);
+
+ const std::string&
+ option () const;
+
+ const std::string&
+ value () const;
+
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+
+ private:
+ std::string option_;
+ std::string value_;
+ };
+
+ class eos_reached: public exception
+ {
+ public:
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+ };
+
+ class file_io_failure: public exception
+ {
+ public:
+ virtual
+ ~file_io_failure () throw ();
+
+ file_io_failure (const std::string& file);
+
+ const std::string&
+ file () const;
+
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+
+ private:
+ std::string file_;
+ };
+
+ class unmatched_quote: public exception
+ {
+ public:
+ virtual
+ ~unmatched_quote () throw ();
+
+ unmatched_quote (const std::string& argument);
+
+ const std::string&
+ argument () const;
+
+ virtual void
+ print (::std::ostream&) const;
+
+ virtual const char*
+ what () const throw ();
+
+ 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().
+ //
+ class scanner
+ {
+ public:
+ virtual
+ ~scanner ();
+
+ virtual bool
+ more () = 0;
+
+ virtual const char*
+ peek () = 0;
+
+ virtual const char*
+ next () = 0;
+
+ virtual void
+ skip () = 0;
+ };
+
+ class argv_scanner: public scanner
+ {
+ public:
+ argv_scanner (int& argc, char** argv, bool erase = false);
+ argv_scanner (int start, int& argc, char** argv, bool erase = false);
+
+ int
+ end () const;
+
+ virtual bool
+ more ();
+
+ virtual const char*
+ peek ();
+
+ virtual const char*
+ next ();
+
+ virtual void
+ skip ();
+
+ private:
+ 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);
+
+ argv_file_scanner (int start,
+ int& argc,
+ char** argv,
+ const std::string& option,
+ bool erase = false);
+
+ 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);
+
+ argv_file_scanner (int start,
+ int& argc,
+ char** argv,
+ const option_info* options,
+ std::size_t options_count,
+ bool erase = false);
+
+ virtual bool
+ more ();
+
+ virtual const char*
+ peek ();
+
+ virtual const char*
+ next ();
+
+ virtual void
+ skip ();
+
+ 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_;
+
+ std::deque<std::string> args_;
+
+ // Circular buffer of two arguments.
+ //
+ std::string hold_[2];
+ std::size_t i_;
+
+ bool skip_;
+ };
+
+ typedef std::vector<std::string> option_names;
+
+ class option
+ {
+ public:
+
+ const std::string&
+ name () const;
+
+ const option_names&
+ aliases () const;
+
+ bool
+ flag () const;
+
+ const std::string&
+ default_value () const;
+
+ public:option ();
+ option (const std::string& name,
+ const option_names& aliases,
+ bool flag,
+ const std::string& default_value);
+
+ private:
+ std::string name_;
+ option_names aliases_;
+ bool flag_;
+ std::string default_value_;
+ };
+
+ class options: public std::vector<option>
+ {
+ public:
+ typedef std::vector<option> container_type;
+
+ container_type::const_iterator
+ find (const std::string& name) const;
+
+ void
+ push_back (const option&);
+ private:
+ typedef std::map<std::string, container_type::size_type> map_type;
+ map_type map_;
+ };
+
+ template <typename X>
+ struct parser;
+}
+
+#include <set>
+
+#include <vector>
+
+#include <string>
+
+#include <cstddef>
+
+#include <odb/option-types.hxx>
+
+class 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 and modifiers.
+ //
+ const bool&
+ help () const;
+
+ bool&
+ help ();
+
+ void
+ help (const bool&);
+
+ const bool&
+ version () const;
+
+ bool&
+ version ();
+
+ void
+ version (const bool&);
+
+ const std::vector<std::string>&
+ I () const;
+
+ std::vector<std::string>&
+ I ();
+
+ void
+ I (const std::vector<std::string>&);
+
+ bool
+ I_specified () const;
+
+ void
+ I_specified (bool);
+
+ const std::vector<std::string>&
+ D () const;
+
+ std::vector<std::string>&
+ D ();
+
+ void
+ D (const std::vector<std::string>&);
+
+ bool
+ D_specified () const;
+
+ void
+ D_specified (bool);
+
+ const std::vector<std::string>&
+ U () const;
+
+ std::vector<std::string>&
+ U ();
+
+ void
+ U (const std::vector<std::string>&);
+
+ bool
+ U_specified () const;
+
+ void
+ U_specified (bool);
+
+ const std::vector< ::database>&
+ database () const;
+
+ std::vector< ::database>&
+ database ();
+
+ void
+ database (const std::vector< ::database>&);
+
+ bool
+ database_specified () const;
+
+ void
+ database_specified (bool);
+
+ const ::multi_database&
+ multi_database () const;
+
+ ::multi_database&
+ multi_database ();
+
+ void
+ multi_database (const ::multi_database&);
+
+ bool
+ multi_database_specified () const;
+
+ void
+ multi_database_specified (bool);
+
+ const ::database&
+ default_database () const;
+
+ ::database&
+ default_database ();
+
+ void
+ default_database (const ::database&);
+
+ bool
+ default_database_specified () const;
+
+ void
+ default_database_specified (bool);
+
+ const bool&
+ generate_query () const;
+
+ bool&
+ generate_query ();
+
+ void
+ generate_query (const bool&);
+
+ const bool&
+ generate_prepared () const;
+
+ bool&
+ generate_prepared ();
+
+ void
+ generate_prepared (const bool&);
+
+ const bool&
+ omit_unprepared () const;
+
+ bool&
+ omit_unprepared ();
+
+ void
+ omit_unprepared (const bool&);
+
+ const bool&
+ generate_session () const;
+
+ bool&
+ generate_session ();
+
+ void
+ generate_session (const bool&);
+
+ const bool&
+ generate_schema () const;
+
+ bool&
+ generate_schema ();
+
+ void
+ generate_schema (const bool&);
+
+ const bool&
+ generate_schema_only () const;
+
+ bool&
+ generate_schema_only ();
+
+ void
+ generate_schema_only (const bool&);
+
+ const bool&
+ suppress_migration () const;
+
+ bool&
+ suppress_migration ();
+
+ void
+ suppress_migration (const bool&);
+
+ const bool&
+ suppress_schema_version () const;
+
+ bool&
+ suppress_schema_version ();
+
+ void
+ suppress_schema_version (const bool&);
+
+ const database_map<qname>&
+ schema_version_table () const;
+
+ database_map<qname>&
+ schema_version_table ();
+
+ void
+ schema_version_table (const database_map<qname>&);
+
+ bool
+ schema_version_table_specified () const;
+
+ void
+ schema_version_table_specified (bool);
+
+ const database_map<std::set< ::schema_format> >&
+ schema_format () const;
+
+ database_map<std::set< ::schema_format> >&
+ schema_format ();
+
+ void
+ schema_format (const database_map<std::set< ::schema_format> >&);
+
+ bool
+ schema_format_specified () const;
+
+ void
+ schema_format_specified (bool);
+
+ const bool&
+ omit_drop () const;
+
+ bool&
+ omit_drop ();
+
+ void
+ omit_drop (const bool&);
+
+ const bool&
+ omit_create () const;
+
+ bool&
+ omit_create ();
+
+ void
+ omit_create (const bool&);
+
+ const database_map<std::string>&
+ schema_name () const;
+
+ database_map<std::string>&
+ schema_name ();
+
+ void
+ schema_name (const database_map<std::string>&);
+
+ bool
+ schema_name_specified () const;
+
+ void
+ schema_name_specified (bool);
+
+ const database_map<deferrable>&
+ fkeys_deferrable_mode () const;
+
+ database_map<deferrable>&
+ fkeys_deferrable_mode ();
+
+ void
+ fkeys_deferrable_mode (const database_map<deferrable>&);
+
+ bool
+ fkeys_deferrable_mode_specified () const;
+
+ void
+ fkeys_deferrable_mode_specified (bool);
+
+ const std::string&
+ default_pointer () const;
+
+ std::string&
+ default_pointer ();
+
+ void
+ default_pointer (const std::string&);
+
+ bool
+ default_pointer_specified () const;
+
+ void
+ default_pointer_specified (bool);
+
+ const std::string&
+ session_type () const;
+
+ std::string&
+ session_type ();
+
+ void
+ session_type (const std::string&);
+
+ bool
+ session_type_specified () const;
+
+ void
+ session_type_specified (bool);
+
+ const std::string&
+ profile () const;
+
+ std::string&
+ profile ();
+
+ void
+ profile (const std::string&);
+
+ bool
+ profile_specified () const;
+
+ void
+ profile_specified (bool);
+
+ const bool&
+ at_once () const;
+
+ bool&
+ at_once ();
+
+ void
+ at_once (const bool&);
+
+ const database_map<qname>&
+ schema () const;
+
+ database_map<qname>&
+ schema ();
+
+ void
+ schema (const database_map<qname>&);
+
+ bool
+ schema_specified () const;
+
+ void
+ schema_specified (bool);
+
+ const database_map<std::string>&
+ export_symbol () const;
+
+ database_map<std::string>&
+ export_symbol ();
+
+ void
+ export_symbol (const database_map<std::string>&);
+
+ bool
+ export_symbol_specified () const;
+
+ void
+ export_symbol_specified (bool);
+
+ const database_map<std::string>&
+ extern_symbol () const;
+
+ database_map<std::string>&
+ extern_symbol ();
+
+ void
+ extern_symbol (const database_map<std::string>&);
+
+ bool
+ extern_symbol_specified () const;
+
+ void
+ extern_symbol_specified (bool);
+
+ const cxx_version&
+ std () const;
+
+ cxx_version&
+ std ();
+
+ void
+ std (const cxx_version&);
+
+ bool
+ std_specified () const;
+
+ void
+ std_specified (bool);
+
+ const bool&
+ warn_hard_add () const;
+
+ bool&
+ warn_hard_add ();
+
+ void
+ warn_hard_add (const bool&);
+
+ const bool&
+ warn_hard_delete () const;
+
+ bool&
+ warn_hard_delete ();
+
+ void
+ warn_hard_delete (const bool&);
+
+ const bool&
+ warn_hard () const;
+
+ bool&
+ warn_hard ();
+
+ void
+ warn_hard (const bool&);
+
+ const std::string&
+ output_dir () const;
+
+ std::string&
+ output_dir ();
+
+ void
+ output_dir (const std::string&);
+
+ bool
+ output_dir_specified () const;
+
+ void
+ output_dir_specified (bool);
+
+ const std::string&
+ input_name () const;
+
+ std::string&
+ input_name ();
+
+ void
+ input_name (const std::string&);
+
+ bool
+ input_name_specified () const;
+
+ void
+ input_name_specified (bool);
+
+ const database_map<std::string>&
+ changelog () const;
+
+ database_map<std::string>&
+ changelog ();
+
+ void
+ changelog (const database_map<std::string>&);
+
+ bool
+ changelog_specified () const;
+
+ void
+ changelog_specified (bool);
+
+ const database_map<std::string>&
+ changelog_in () const;
+
+ database_map<std::string>&
+ changelog_in ();
+
+ void
+ changelog_in (const database_map<std::string>&);
+
+ bool
+ changelog_in_specified () const;
+
+ void
+ changelog_in_specified (bool);
+
+ const database_map<std::string>&
+ changelog_out () const;
+
+ database_map<std::string>&
+ changelog_out ();
+
+ void
+ changelog_out (const database_map<std::string>&);
+
+ bool
+ changelog_out_specified () const;
+
+ void
+ changelog_out_specified (bool);
+
+ const database_map<std::string>&
+ changelog_dir () const;
+
+ database_map<std::string>&
+ changelog_dir ();
+
+ void
+ changelog_dir (const database_map<std::string>&);
+
+ bool
+ changelog_dir_specified () const;
+
+ void
+ changelog_dir_specified (bool);
+
+ const bool&
+ init_changelog () const;
+
+ bool&
+ init_changelog ();
+
+ void
+ init_changelog (const bool&);
+
+ const database_map<std::string>&
+ odb_file_suffix () const;
+
+ database_map<std::string>&
+ odb_file_suffix ();
+
+ void
+ odb_file_suffix (const database_map<std::string>&);
+
+ bool
+ odb_file_suffix_specified () const;
+
+ void
+ odb_file_suffix_specified (bool);
+
+ const database_map<std::string>&
+ sql_file_suffix () const;
+
+ database_map<std::string>&
+ sql_file_suffix ();
+
+ void
+ sql_file_suffix (const database_map<std::string>&);
+
+ bool
+ sql_file_suffix_specified () const;
+
+ void
+ sql_file_suffix_specified (bool);
+
+ const database_map<std::string>&
+ schema_file_suffix () const;
+
+ database_map<std::string>&
+ schema_file_suffix ();
+
+ void
+ schema_file_suffix (const database_map<std::string>&);
+
+ bool
+ schema_file_suffix_specified () const;
+
+ void
+ schema_file_suffix_specified (bool);
+
+ const database_map<std::string>&
+ changelog_file_suffix () const;
+
+ database_map<std::string>&
+ changelog_file_suffix ();
+
+ void
+ changelog_file_suffix (const database_map<std::string>&);
+
+ bool
+ changelog_file_suffix_specified () const;
+
+ void
+ changelog_file_suffix_specified (bool);
+
+ const std::string&
+ hxx_suffix () const;
+
+ std::string&
+ hxx_suffix ();
+
+ void
+ hxx_suffix (const std::string&);
+
+ bool
+ hxx_suffix_specified () const;
+
+ void
+ hxx_suffix_specified (bool);
+
+ const std::string&
+ ixx_suffix () const;
+
+ std::string&
+ ixx_suffix ();
+
+ void
+ ixx_suffix (const std::string&);
+
+ bool
+ ixx_suffix_specified () const;
+
+ void
+ ixx_suffix_specified (bool);
+
+ const std::string&
+ cxx_suffix () const;
+
+ std::string&
+ cxx_suffix ();
+
+ void
+ cxx_suffix (const std::string&);
+
+ bool
+ cxx_suffix_specified () const;
+
+ void
+ cxx_suffix_specified (bool);
+
+ const std::string&
+ sql_suffix () const;
+
+ std::string&
+ sql_suffix ();
+
+ void
+ sql_suffix (const std::string&);
+
+ bool
+ sql_suffix_specified () const;
+
+ void
+ sql_suffix_specified (bool);
+
+ const std::string&
+ changelog_suffix () const;
+
+ std::string&
+ changelog_suffix ();
+
+ void
+ changelog_suffix (const std::string&);
+
+ bool
+ changelog_suffix_specified () const;
+
+ void
+ changelog_suffix_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ hxx_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ hxx_prologue ();
+
+ void
+ hxx_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ hxx_prologue_specified () const;
+
+ void
+ hxx_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ ixx_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ ixx_prologue ();
+
+ void
+ ixx_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ ixx_prologue_specified () const;
+
+ void
+ ixx_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ cxx_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ cxx_prologue ();
+
+ void
+ cxx_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ cxx_prologue_specified () const;
+
+ void
+ cxx_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ schema_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ schema_prologue ();
+
+ void
+ schema_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ schema_prologue_specified () const;
+
+ void
+ schema_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ sql_prologue ();
+
+ void
+ sql_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_prologue_specified () const;
+
+ void
+ sql_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ migration_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ migration_prologue ();
+
+ void
+ migration_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ migration_prologue_specified () const;
+
+ void
+ migration_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_interlude () const;
+
+ database_map<std::vector<std::string> >&
+ sql_interlude ();
+
+ void
+ sql_interlude (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_interlude_specified () const;
+
+ void
+ sql_interlude_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ hxx_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ hxx_epilogue ();
+
+ void
+ hxx_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ hxx_epilogue_specified () const;
+
+ void
+ hxx_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ ixx_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ ixx_epilogue ();
+
+ void
+ ixx_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ ixx_epilogue_specified () const;
+
+ void
+ ixx_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ cxx_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ cxx_epilogue ();
+
+ void
+ cxx_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ cxx_epilogue_specified () const;
+
+ void
+ cxx_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ schema_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ schema_epilogue ();
+
+ void
+ schema_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ schema_epilogue_specified () const;
+
+ void
+ schema_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ sql_epilogue ();
+
+ void
+ sql_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_epilogue_specified () const;
+
+ void
+ sql_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ migration_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ migration_epilogue ();
+
+ void
+ migration_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ migration_epilogue_specified () const;
+
+ void
+ migration_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ hxx_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ hxx_prologue_file ();
+
+ void
+ hxx_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ hxx_prologue_file_specified () const;
+
+ void
+ hxx_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ ixx_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ ixx_prologue_file ();
+
+ void
+ ixx_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ ixx_prologue_file_specified () const;
+
+ void
+ ixx_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ cxx_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ cxx_prologue_file ();
+
+ void
+ cxx_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ cxx_prologue_file_specified () const;
+
+ void
+ cxx_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ schema_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ schema_prologue_file ();
+
+ void
+ schema_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ schema_prologue_file_specified () const;
+
+ void
+ schema_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ sql_prologue_file ();
+
+ void
+ sql_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_prologue_file_specified () const;
+
+ void
+ sql_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ migration_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ migration_prologue_file ();
+
+ void
+ migration_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ migration_prologue_file_specified () const;
+
+ void
+ migration_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_interlude_file () const;
+
+ database_map<std::vector<std::string> >&
+ sql_interlude_file ();
+
+ void
+ sql_interlude_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_interlude_file_specified () const;
+
+ void
+ sql_interlude_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ hxx_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ hxx_epilogue_file ();
+
+ void
+ hxx_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ hxx_epilogue_file_specified () const;
+
+ void
+ hxx_epilogue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ ixx_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ ixx_epilogue_file ();
+
+ void
+ ixx_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ ixx_epilogue_file_specified () const;
+
+ void
+ ixx_epilogue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ cxx_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ cxx_epilogue_file ();
+
+ void
+ cxx_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ cxx_epilogue_file_specified () const;
+
+ void
+ cxx_epilogue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ schema_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ schema_epilogue_file ();
+
+ void
+ schema_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ schema_epilogue_file_specified () const;
+
+ void
+ schema_epilogue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ sql_epilogue_file ();
+
+ void
+ sql_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_epilogue_file_specified () const;
+
+ void
+ sql_epilogue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ migration_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ migration_epilogue_file ();
+
+ void
+ migration_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ migration_epilogue_file_specified () const;
+
+ void
+ migration_epilogue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ odb_prologue () const;
+
+ database_map<std::vector<std::string> >&
+ odb_prologue ();
+
+ void
+ odb_prologue (const database_map<std::vector<std::string> >&);
+
+ bool
+ odb_prologue_specified () const;
+
+ void
+ odb_prologue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ odb_prologue_file () const;
+
+ database_map<std::vector<std::string> >&
+ odb_prologue_file ();
+
+ void
+ odb_prologue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ odb_prologue_file_specified () const;
+
+ void
+ odb_prologue_file_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ odb_epilogue () const;
+
+ database_map<std::vector<std::string> >&
+ odb_epilogue ();
+
+ void
+ odb_epilogue (const database_map<std::vector<std::string> >&);
+
+ bool
+ odb_epilogue_specified () const;
+
+ void
+ odb_epilogue_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ odb_epilogue_file () const;
+
+ database_map<std::vector<std::string> >&
+ odb_epilogue_file ();
+
+ void
+ odb_epilogue_file (const database_map<std::vector<std::string> >&);
+
+ bool
+ odb_epilogue_file_specified () const;
+
+ void
+ odb_epilogue_file_specified (bool);
+
+ const database_map<std::string>&
+ table_prefix () const;
+
+ database_map<std::string>&
+ table_prefix ();
+
+ void
+ table_prefix (const database_map<std::string>&);
+
+ bool
+ table_prefix_specified () const;
+
+ void
+ table_prefix_specified (bool);
+
+ const database_map<std::string>&
+ index_suffix () const;
+
+ database_map<std::string>&
+ index_suffix ();
+
+ void
+ index_suffix (const database_map<std::string>&);
+
+ bool
+ index_suffix_specified () const;
+
+ void
+ index_suffix_specified (bool);
+
+ const database_map<std::string>&
+ fkey_suffix () const;
+
+ database_map<std::string>&
+ fkey_suffix ();
+
+ void
+ fkey_suffix (const database_map<std::string>&);
+
+ bool
+ fkey_suffix_specified () const;
+
+ void
+ fkey_suffix_specified (bool);
+
+ const database_map<std::string>&
+ sequence_suffix () const;
+
+ database_map<std::string>&
+ sequence_suffix ();
+
+ void
+ sequence_suffix (const database_map<std::string>&);
+
+ bool
+ sequence_suffix_specified () const;
+
+ void
+ sequence_suffix_specified (bool);
+
+ const database_map<name_case>&
+ sql_name_case () const;
+
+ database_map<name_case>&
+ sql_name_case ();
+
+ void
+ sql_name_case (const database_map<name_case>&);
+
+ bool
+ sql_name_case_specified () const;
+
+ void
+ sql_name_case_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ table_regex () const;
+
+ database_map<std::vector<std::string> >&
+ table_regex ();
+
+ void
+ table_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ table_regex_specified () const;
+
+ void
+ table_regex_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ column_regex () const;
+
+ database_map<std::vector<std::string> >&
+ column_regex ();
+
+ void
+ column_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ column_regex_specified () const;
+
+ void
+ column_regex_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ index_regex () const;
+
+ database_map<std::vector<std::string> >&
+ index_regex ();
+
+ void
+ index_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ index_regex_specified () const;
+
+ void
+ index_regex_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ fkey_regex () const;
+
+ database_map<std::vector<std::string> >&
+ fkey_regex ();
+
+ void
+ fkey_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ fkey_regex_specified () const;
+
+ void
+ fkey_regex_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sequence_regex () const;
+
+ database_map<std::vector<std::string> >&
+ sequence_regex ();
+
+ void
+ sequence_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ sequence_regex_specified () const;
+
+ void
+ sequence_regex_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ statement_regex () const;
+
+ database_map<std::vector<std::string> >&
+ statement_regex ();
+
+ void
+ statement_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ statement_regex_specified () const;
+
+ void
+ statement_regex_specified (bool);
+
+ const database_map<std::vector<std::string> >&
+ sql_name_regex () const;
+
+ database_map<std::vector<std::string> >&
+ sql_name_regex ();
+
+ void
+ sql_name_regex (const database_map<std::vector<std::string> >&);
+
+ bool
+ sql_name_regex_specified () const;
+
+ void
+ sql_name_regex_specified (bool);
+
+ const bool&
+ sql_name_regex_trace () const;
+
+ bool&
+ sql_name_regex_trace ();
+
+ void
+ sql_name_regex_trace (const bool&);
+
+ const std::vector<std::string>&
+ accessor_regex () const;
+
+ std::vector<std::string>&
+ accessor_regex ();
+
+ void
+ accessor_regex (const std::vector<std::string>&);
+
+ bool
+ accessor_regex_specified () const;
+
+ void
+ accessor_regex_specified (bool);
+
+ const bool&
+ accessor_regex_trace () const;
+
+ bool&
+ accessor_regex_trace ();
+
+ void
+ accessor_regex_trace (const bool&);
+
+ const std::vector<std::string>&
+ modifier_regex () const;
+
+ std::vector<std::string>&
+ modifier_regex ();
+
+ void
+ modifier_regex (const std::vector<std::string>&);
+
+ bool
+ modifier_regex_specified () const;
+
+ void
+ modifier_regex_specified (bool);
+
+ const bool&
+ modifier_regex_trace () const;
+
+ bool&
+ modifier_regex_trace ();
+
+ void
+ modifier_regex_trace (const bool&);
+
+ const bool&
+ include_with_brackets () const;
+
+ bool&
+ include_with_brackets ();
+
+ void
+ include_with_brackets (const bool&);
+
+ const std::string&
+ include_prefix () const;
+
+ std::string&
+ include_prefix ();
+
+ void
+ include_prefix (const std::string&);
+
+ bool
+ include_prefix_specified () const;
+
+ void
+ include_prefix_specified (bool);
+
+ const std::vector<std::string>&
+ include_regex () const;
+
+ std::vector<std::string>&
+ include_regex ();
+
+ void
+ include_regex (const std::vector<std::string>&);
+
+ bool
+ include_regex_specified () const;
+
+ void
+ include_regex_specified (bool);
+
+ const bool&
+ include_regex_trace () const;
+
+ bool&
+ include_regex_trace ();
+
+ void
+ include_regex_trace (const bool&);
+
+ const std::string&
+ guard_prefix () const;
+
+ std::string&
+ guard_prefix ();
+
+ void
+ guard_prefix (const std::string&);
+
+ bool
+ guard_prefix_specified () const;
+
+ void
+ guard_prefix_specified (bool);
+
+ const bool&
+ show_sloc () const;
+
+ bool&
+ show_sloc ();
+
+ void
+ show_sloc (const bool&);
+
+ const std::size_t&
+ sloc_limit () const;
+
+ std::size_t&
+ sloc_limit ();
+
+ void
+ sloc_limit (const std::size_t&);
+
+ bool
+ sloc_limit_specified () const;
+
+ void
+ sloc_limit_specified (bool);
+
+ const std::string&
+ options_file () const;
+
+ std::string&
+ options_file ();
+
+ void
+ options_file (const std::string&);
+
+ bool
+ options_file_specified () const;
+
+ void
+ options_file_specified (bool);
+
+ const std::vector<std::string>&
+ x () const;
+
+ std::vector<std::string>&
+ x ();
+
+ void
+ x (const std::vector<std::string>&);
+
+ bool
+ x_specified () const;
+
+ void
+ x_specified (bool);
+
+ const bool&
+ v () const;
+
+ bool&
+ v ();
+
+ void
+ v (const bool&);
+
+ const bool&
+ trace () const;
+
+ bool&
+ trace ();
+
+ void
+ trace (const bool&);
+
+ const std::string&
+ mysql_engine () const;
+
+ std::string&
+ mysql_engine ();
+
+ void
+ mysql_engine (const std::string&);
+
+ bool
+ mysql_engine_specified () const;
+
+ void
+ mysql_engine_specified (bool);
+
+ const bool&
+ sqlite_override_null () const;
+
+ bool&
+ sqlite_override_null ();
+
+ void
+ sqlite_override_null (const bool&);
+
+ const bool&
+ sqlite_lax_auto_id () const;
+
+ bool&
+ sqlite_lax_auto_id ();
+
+ void
+ sqlite_lax_auto_id (const bool&);
+
+ const ::pgsql_version&
+ pgsql_server_version () const;
+
+ ::pgsql_version&
+ pgsql_server_version ();
+
+ void
+ pgsql_server_version (const ::pgsql_version&);
+
+ bool
+ pgsql_server_version_specified () const;
+
+ void
+ pgsql_server_version_specified (bool);
+
+ const ::oracle_version&
+ oracle_client_version () const;
+
+ ::oracle_version&
+ oracle_client_version ();
+
+ void
+ oracle_client_version (const ::oracle_version&);
+
+ bool
+ oracle_client_version_specified () const;
+
+ void
+ oracle_client_version_specified (bool);
+
+ const bool&
+ oracle_warn_truncation () const;
+
+ bool&
+ oracle_warn_truncation ();
+
+ void
+ oracle_warn_truncation (const bool&);
+
+ const ::mssql_version&
+ mssql_server_version () const;
+
+ ::mssql_version&
+ mssql_server_version ();
+
+ void
+ mssql_server_version (const ::mssql_version&);
+
+ bool
+ mssql_server_version_specified () const;
+
+ void
+ mssql_server_version_specified (bool);
+
+ const unsigned int&
+ mssql_short_limit () const;
+
+ unsigned int&
+ mssql_short_limit ();
+
+ void
+ mssql_short_limit (const unsigned int&);
+
+ bool
+ mssql_short_limit_specified () const;
+
+ void
+ mssql_short_limit_specified (bool);
+
+ // Print usage information.
+ //
+ static ::cli::usage_para
+ print_usage (::std::ostream&,
+ ::cli::usage_para = ::cli::usage_para::none);
+
+ // Option description.
+ //
+ static const ::cli::options&
+ description ();
+
+ // Implementation details.
+ //
+ protected:
+ friend struct _cli_options_desc_type;
+
+ static void
+ fill (::cli::options&);
+
+ bool
+ _parse (const char*, ::cli::scanner&);
+
+ private:
+ bool
+ _parse (::cli::scanner&,
+ ::cli::unknown_mode option,
+ ::cli::unknown_mode argument);
+
+ public:
+ bool help_;
+ bool version_;
+ std::vector<std::string> I_;
+ bool I_specified_;
+ std::vector<std::string> D_;
+ bool D_specified_;
+ std::vector<std::string> U_;
+ bool U_specified_;
+ std::vector< ::database> database_;
+ bool database_specified_;
+ ::multi_database multi_database_;
+ bool multi_database_specified_;
+ ::database default_database_;
+ bool default_database_specified_;
+ bool generate_query_;
+ bool generate_prepared_;
+ bool omit_unprepared_;
+ bool generate_session_;
+ bool generate_schema_;
+ bool generate_schema_only_;
+ bool suppress_migration_;
+ bool suppress_schema_version_;
+ database_map<qname> schema_version_table_;
+ bool schema_version_table_specified_;
+ database_map<std::set< ::schema_format> > schema_format_;
+ bool schema_format_specified_;
+ bool omit_drop_;
+ bool omit_create_;
+ database_map<std::string> schema_name_;
+ bool schema_name_specified_;
+ database_map<deferrable> fkeys_deferrable_mode_;
+ bool fkeys_deferrable_mode_specified_;
+ std::string default_pointer_;
+ bool default_pointer_specified_;
+ std::string session_type_;
+ bool session_type_specified_;
+ std::string profile_;
+ bool profile_specified_;
+ bool at_once_;
+ database_map<qname> schema_;
+ bool schema_specified_;
+ database_map<std::string> export_symbol_;
+ bool export_symbol_specified_;
+ database_map<std::string> extern_symbol_;
+ bool extern_symbol_specified_;
+ cxx_version std_;
+ bool std_specified_;
+ bool warn_hard_add_;
+ bool warn_hard_delete_;
+ bool warn_hard_;
+ std::string output_dir_;
+ bool output_dir_specified_;
+ std::string input_name_;
+ bool input_name_specified_;
+ database_map<std::string> changelog_;
+ bool changelog_specified_;
+ database_map<std::string> changelog_in_;
+ bool changelog_in_specified_;
+ database_map<std::string> changelog_out_;
+ bool changelog_out_specified_;
+ database_map<std::string> changelog_dir_;
+ bool changelog_dir_specified_;
+ bool init_changelog_;
+ database_map<std::string> odb_file_suffix_;
+ bool odb_file_suffix_specified_;
+ database_map<std::string> sql_file_suffix_;
+ bool sql_file_suffix_specified_;
+ database_map<std::string> schema_file_suffix_;
+ bool schema_file_suffix_specified_;
+ database_map<std::string> changelog_file_suffix_;
+ bool changelog_file_suffix_specified_;
+ std::string hxx_suffix_;
+ bool hxx_suffix_specified_;
+ std::string ixx_suffix_;
+ bool ixx_suffix_specified_;
+ std::string cxx_suffix_;
+ bool cxx_suffix_specified_;
+ std::string sql_suffix_;
+ bool sql_suffix_specified_;
+ std::string changelog_suffix_;
+ bool changelog_suffix_specified_;
+ database_map<std::vector<std::string> > hxx_prologue_;
+ bool hxx_prologue_specified_;
+ database_map<std::vector<std::string> > ixx_prologue_;
+ bool ixx_prologue_specified_;
+ database_map<std::vector<std::string> > cxx_prologue_;
+ bool cxx_prologue_specified_;
+ database_map<std::vector<std::string> > schema_prologue_;
+ bool schema_prologue_specified_;
+ database_map<std::vector<std::string> > sql_prologue_;
+ bool sql_prologue_specified_;
+ database_map<std::vector<std::string> > migration_prologue_;
+ bool migration_prologue_specified_;
+ database_map<std::vector<std::string> > sql_interlude_;
+ bool sql_interlude_specified_;
+ database_map<std::vector<std::string> > hxx_epilogue_;
+ bool hxx_epilogue_specified_;
+ database_map<std::vector<std::string> > ixx_epilogue_;
+ bool ixx_epilogue_specified_;
+ database_map<std::vector<std::string> > cxx_epilogue_;
+ bool cxx_epilogue_specified_;
+ database_map<std::vector<std::string> > schema_epilogue_;
+ bool schema_epilogue_specified_;
+ database_map<std::vector<std::string> > sql_epilogue_;
+ bool sql_epilogue_specified_;
+ database_map<std::vector<std::string> > migration_epilogue_;
+ bool migration_epilogue_specified_;
+ database_map<std::vector<std::string> > hxx_prologue_file_;
+ bool hxx_prologue_file_specified_;
+ database_map<std::vector<std::string> > ixx_prologue_file_;
+ bool ixx_prologue_file_specified_;
+ database_map<std::vector<std::string> > cxx_prologue_file_;
+ bool cxx_prologue_file_specified_;
+ database_map<std::vector<std::string> > schema_prologue_file_;
+ bool schema_prologue_file_specified_;
+ database_map<std::vector<std::string> > sql_prologue_file_;
+ bool sql_prologue_file_specified_;
+ database_map<std::vector<std::string> > migration_prologue_file_;
+ bool migration_prologue_file_specified_;
+ database_map<std::vector<std::string> > sql_interlude_file_;
+ bool sql_interlude_file_specified_;
+ database_map<std::vector<std::string> > hxx_epilogue_file_;
+ bool hxx_epilogue_file_specified_;
+ database_map<std::vector<std::string> > ixx_epilogue_file_;
+ bool ixx_epilogue_file_specified_;
+ database_map<std::vector<std::string> > cxx_epilogue_file_;
+ bool cxx_epilogue_file_specified_;
+ database_map<std::vector<std::string> > schema_epilogue_file_;
+ bool schema_epilogue_file_specified_;
+ database_map<std::vector<std::string> > sql_epilogue_file_;
+ bool sql_epilogue_file_specified_;
+ database_map<std::vector<std::string> > migration_epilogue_file_;
+ bool migration_epilogue_file_specified_;
+ database_map<std::vector<std::string> > odb_prologue_;
+ bool odb_prologue_specified_;
+ database_map<std::vector<std::string> > odb_prologue_file_;
+ bool odb_prologue_file_specified_;
+ database_map<std::vector<std::string> > odb_epilogue_;
+ bool odb_epilogue_specified_;
+ database_map<std::vector<std::string> > odb_epilogue_file_;
+ bool odb_epilogue_file_specified_;
+ database_map<std::string> table_prefix_;
+ bool table_prefix_specified_;
+ database_map<std::string> index_suffix_;
+ bool index_suffix_specified_;
+ database_map<std::string> fkey_suffix_;
+ bool fkey_suffix_specified_;
+ database_map<std::string> sequence_suffix_;
+ bool sequence_suffix_specified_;
+ database_map<name_case> sql_name_case_;
+ bool sql_name_case_specified_;
+ database_map<std::vector<std::string> > table_regex_;
+ bool table_regex_specified_;
+ database_map<std::vector<std::string> > column_regex_;
+ bool column_regex_specified_;
+ database_map<std::vector<std::string> > index_regex_;
+ bool index_regex_specified_;
+ database_map<std::vector<std::string> > fkey_regex_;
+ bool fkey_regex_specified_;
+ database_map<std::vector<std::string> > sequence_regex_;
+ bool sequence_regex_specified_;
+ database_map<std::vector<std::string> > statement_regex_;
+ bool statement_regex_specified_;
+ database_map<std::vector<std::string> > sql_name_regex_;
+ bool sql_name_regex_specified_;
+ bool sql_name_regex_trace_;
+ std::vector<std::string> accessor_regex_;
+ bool accessor_regex_specified_;
+ bool accessor_regex_trace_;
+ std::vector<std::string> modifier_regex_;
+ bool modifier_regex_specified_;
+ bool modifier_regex_trace_;
+ bool include_with_brackets_;
+ std::string include_prefix_;
+ bool include_prefix_specified_;
+ std::vector<std::string> include_regex_;
+ bool include_regex_specified_;
+ bool include_regex_trace_;
+ std::string guard_prefix_;
+ bool guard_prefix_specified_;
+ bool show_sloc_;
+ std::size_t sloc_limit_;
+ bool sloc_limit_specified_;
+ std::string options_file_;
+ bool options_file_specified_;
+ std::vector<std::string> x_;
+ bool x_specified_;
+ bool v_;
+ bool trace_;
+ std::string mysql_engine_;
+ bool mysql_engine_specified_;
+ bool sqlite_override_null_;
+ bool sqlite_lax_auto_id_;
+ ::pgsql_version pgsql_server_version_;
+ bool pgsql_server_version_specified_;
+ ::oracle_version oracle_client_version_;
+ bool oracle_client_version_specified_;
+ bool oracle_warn_truncation_;
+ ::mssql_version mssql_server_version_;
+ bool mssql_server_version_specified_;
+ unsigned int mssql_short_limit_;
+ bool mssql_short_limit_specified_;
+};
+
+#include <odb/options.ixx>
+
+// Begin epilogue.
+//
+//
+// End epilogue.
+
+#endif // ODB_OPTIONS_HXX
diff --git a/odb/options.ixx b/odb/options.ixx
new file mode 100644
index 0000000..a4a4c1b
--- /dev/null
+++ b/odb/options.ixx
@@ -0,0 +1,3382 @@
+// -*- 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::ostream&
+ operator<< (::std::ostream& 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)
+ : option_ (option), value_ (value)
+ {
+ }
+
+ inline const std::string& invalid_value::
+ option () const
+ {
+ return option_;
+ }
+
+ inline const std::string& invalid_value::
+ value () const
+ {
+ return value_;
+ }
+
+ // 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)
+ : i_ (1), argc_ (argc), argv_ (argv), erase_ (erase)
+ {
+ }
+
+ inline argv_scanner::
+ argv_scanner (int start, int& argc, char** argv, bool erase)
+ : 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)
+ : argv_scanner (argc, argv, erase),
+ 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)
+ : argv_scanner (start, argc, argv, erase),
+ 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& argc,
+ char** argv,
+ const option_info* options,
+ std::size_t options_count,
+ bool erase)
+ : argv_scanner (argc, argv, erase),
+ 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)
+ : argv_scanner (start, argc, argv, erase),
+ options_ (options),
+ options_count_ (options_count),
+ i_ (1),
+ skip_ (false)
+ {
+ }
+
+ inline const std::string& option::
+ name () const
+ {
+ return name_;
+ }
+
+ inline const option_names& option::
+ aliases () const
+ {
+ return aliases_;
+ }
+
+ inline bool option::
+ flag () const
+ {
+ return flag_;
+ }
+
+ inline const std::string& option::
+ default_value () const
+ {
+ return default_value_;
+ }
+
+ inline option::
+ option ()
+ {
+ }
+
+ inline option::
+ option (const std::string& n,
+ const option_names& a,
+ bool f,
+ const std::string& dv)
+ : name_ (n), aliases_ (a), flag_ (f), default_value_ (dv)
+ {
+ }
+
+ inline options::container_type::const_iterator options::
+ find (const std::string& name) const
+ {
+ map_type::const_iterator i (map_.find (name));
+ return i != map_.end () ? begin () + i->second : end ();
+ }
+}
+
+// options
+//
+
+inline const bool& options::
+help () const
+{
+ return this->help_;
+}
+
+inline bool& options::
+help ()
+{
+ return this->help_;
+}
+
+inline void options::
+help(const bool& x)
+{
+ this->help_ = x;
+}
+
+inline const bool& options::
+version () const
+{
+ return this->version_;
+}
+
+inline bool& options::
+version ()
+{
+ return this->version_;
+}
+
+inline void options::
+version(const bool& x)
+{
+ this->version_ = x;
+}
+
+inline const std::vector<std::string>& options::
+I () const
+{
+ return this->I_;
+}
+
+inline std::vector<std::string>& options::
+I ()
+{
+ return this->I_;
+}
+
+inline void options::
+I(const std::vector<std::string>& x)
+{
+ this->I_ = x;
+}
+
+inline bool options::
+I_specified () const
+{
+ return this->I_specified_;
+}
+
+inline void options::
+I_specified(bool x)
+{
+ this->I_specified_ = x;
+}
+
+inline const std::vector<std::string>& options::
+D () const
+{
+ return this->D_;
+}
+
+inline std::vector<std::string>& options::
+D ()
+{
+ return this->D_;
+}
+
+inline void options::
+D(const std::vector<std::string>& x)
+{
+ this->D_ = x;
+}
+
+inline bool options::
+D_specified () const
+{
+ return this->D_specified_;
+}
+
+inline void options::
+D_specified(bool x)
+{
+ this->D_specified_ = x;
+}
+
+inline const std::vector<std::string>& options::
+U () const
+{
+ return this->U_;
+}
+
+inline std::vector<std::string>& options::
+U ()
+{
+ return this->U_;
+}
+
+inline void options::
+U(const std::vector<std::string>& x)
+{
+ this->U_ = x;
+}
+
+inline bool options::
+U_specified () const
+{
+ return this->U_specified_;
+}
+
+inline void options::
+U_specified(bool x)
+{
+ this->U_specified_ = x;
+}
+
+inline const std::vector< ::database>& options::
+database () const
+{
+ return this->database_;
+}
+
+inline std::vector< ::database>& options::
+database ()
+{
+ return this->database_;
+}
+
+inline void options::
+database(const std::vector< ::database>& x)
+{
+ this->database_ = x;
+}
+
+inline bool options::
+database_specified () const
+{
+ return this->database_specified_;
+}
+
+inline void options::
+database_specified(bool x)
+{
+ this->database_specified_ = x;
+}
+
+inline const ::multi_database& options::
+multi_database () const
+{
+ return this->multi_database_;
+}
+
+inline ::multi_database& options::
+multi_database ()
+{
+ return this->multi_database_;
+}
+
+inline void options::
+multi_database(const ::multi_database& x)
+{
+ this->multi_database_ = x;
+}
+
+inline bool options::
+multi_database_specified () const
+{
+ return this->multi_database_specified_;
+}
+
+inline void options::
+multi_database_specified(bool x)
+{
+ this->multi_database_specified_ = x;
+}
+
+inline const ::database& options::
+default_database () const
+{
+ return this->default_database_;
+}
+
+inline ::database& options::
+default_database ()
+{
+ return this->default_database_;
+}
+
+inline void options::
+default_database(const ::database& x)
+{
+ this->default_database_ = x;
+}
+
+inline bool options::
+default_database_specified () const
+{
+ return this->default_database_specified_;
+}
+
+inline void options::
+default_database_specified(bool x)
+{
+ this->default_database_specified_ = x;
+}
+
+inline const bool& options::
+generate_query () const
+{
+ return this->generate_query_;
+}
+
+inline bool& options::
+generate_query ()
+{
+ return this->generate_query_;
+}
+
+inline void options::
+generate_query(const bool& x)
+{
+ this->generate_query_ = x;
+}
+
+inline const bool& options::
+generate_prepared () const
+{
+ return this->generate_prepared_;
+}
+
+inline bool& options::
+generate_prepared ()
+{
+ return this->generate_prepared_;
+}
+
+inline void options::
+generate_prepared(const bool& x)
+{
+ this->generate_prepared_ = x;
+}
+
+inline const bool& options::
+omit_unprepared () const
+{
+ return this->omit_unprepared_;
+}
+
+inline bool& options::
+omit_unprepared ()
+{
+ return this->omit_unprepared_;
+}
+
+inline void options::
+omit_unprepared(const bool& x)
+{
+ this->omit_unprepared_ = x;
+}
+
+inline const bool& options::
+generate_session () const
+{
+ return this->generate_session_;
+}
+
+inline bool& options::
+generate_session ()
+{
+ return this->generate_session_;
+}
+
+inline void options::
+generate_session(const bool& x)
+{
+ this->generate_session_ = x;
+}
+
+inline const bool& options::
+generate_schema () const
+{
+ return this->generate_schema_;
+}
+
+inline bool& options::
+generate_schema ()
+{
+ return this->generate_schema_;
+}
+
+inline void options::
+generate_schema(const bool& x)
+{
+ this->generate_schema_ = x;
+}
+
+inline const bool& options::
+generate_schema_only () const
+{
+ return this->generate_schema_only_;
+}
+
+inline bool& options::
+generate_schema_only ()
+{
+ return this->generate_schema_only_;
+}
+
+inline void options::
+generate_schema_only(const bool& x)
+{
+ this->generate_schema_only_ = x;
+}
+
+inline const bool& options::
+suppress_migration () const
+{
+ return this->suppress_migration_;
+}
+
+inline bool& options::
+suppress_migration ()
+{
+ return this->suppress_migration_;
+}
+
+inline void options::
+suppress_migration(const bool& x)
+{
+ this->suppress_migration_ = x;
+}
+
+inline const bool& options::
+suppress_schema_version () const
+{
+ return this->suppress_schema_version_;
+}
+
+inline bool& options::
+suppress_schema_version ()
+{
+ return this->suppress_schema_version_;
+}
+
+inline void options::
+suppress_schema_version(const bool& x)
+{
+ this->suppress_schema_version_ = x;
+}
+
+inline const database_map<qname>& options::
+schema_version_table () const
+{
+ return this->schema_version_table_;
+}
+
+inline database_map<qname>& options::
+schema_version_table ()
+{
+ return this->schema_version_table_;
+}
+
+inline void options::
+schema_version_table(const database_map<qname>& x)
+{
+ this->schema_version_table_ = x;
+}
+
+inline bool options::
+schema_version_table_specified () const
+{
+ return this->schema_version_table_specified_;
+}
+
+inline void options::
+schema_version_table_specified(bool x)
+{
+ this->schema_version_table_specified_ = x;
+}
+
+inline const database_map<std::set< ::schema_format> >& options::
+schema_format () const
+{
+ return this->schema_format_;
+}
+
+inline database_map<std::set< ::schema_format> >& options::
+schema_format ()
+{
+ return this->schema_format_;
+}
+
+inline void options::
+schema_format(const database_map<std::set< ::schema_format> >& x)
+{
+ this->schema_format_ = x;
+}
+
+inline bool options::
+schema_format_specified () const
+{
+ return this->schema_format_specified_;
+}
+
+inline void options::
+schema_format_specified(bool x)
+{
+ this->schema_format_specified_ = x;
+}
+
+inline const bool& options::
+omit_drop () const
+{
+ return this->omit_drop_;
+}
+
+inline bool& options::
+omit_drop ()
+{
+ return this->omit_drop_;
+}
+
+inline void options::
+omit_drop(const bool& x)
+{
+ this->omit_drop_ = x;
+}
+
+inline const bool& options::
+omit_create () const
+{
+ return this->omit_create_;
+}
+
+inline bool& options::
+omit_create ()
+{
+ return this->omit_create_;
+}
+
+inline void options::
+omit_create(const bool& x)
+{
+ this->omit_create_ = x;
+}
+
+inline const database_map<std::string>& options::
+schema_name () const
+{
+ return this->schema_name_;
+}
+
+inline database_map<std::string>& options::
+schema_name ()
+{
+ return this->schema_name_;
+}
+
+inline void options::
+schema_name(const database_map<std::string>& x)
+{
+ this->schema_name_ = x;
+}
+
+inline bool options::
+schema_name_specified () const
+{
+ return this->schema_name_specified_;
+}
+
+inline void options::
+schema_name_specified(bool x)
+{
+ this->schema_name_specified_ = x;
+}
+
+inline const database_map<deferrable>& options::
+fkeys_deferrable_mode () const
+{
+ return this->fkeys_deferrable_mode_;
+}
+
+inline database_map<deferrable>& options::
+fkeys_deferrable_mode ()
+{
+ return this->fkeys_deferrable_mode_;
+}
+
+inline void options::
+fkeys_deferrable_mode(const database_map<deferrable>& x)
+{
+ this->fkeys_deferrable_mode_ = x;
+}
+
+inline bool options::
+fkeys_deferrable_mode_specified () const
+{
+ return this->fkeys_deferrable_mode_specified_;
+}
+
+inline void options::
+fkeys_deferrable_mode_specified(bool x)
+{
+ this->fkeys_deferrable_mode_specified_ = x;
+}
+
+inline const std::string& options::
+default_pointer () const
+{
+ return this->default_pointer_;
+}
+
+inline std::string& options::
+default_pointer ()
+{
+ return this->default_pointer_;
+}
+
+inline void options::
+default_pointer(const std::string& x)
+{
+ this->default_pointer_ = x;
+}
+
+inline bool options::
+default_pointer_specified () const
+{
+ return this->default_pointer_specified_;
+}
+
+inline void options::
+default_pointer_specified(bool x)
+{
+ this->default_pointer_specified_ = x;
+}
+
+inline const std::string& options::
+session_type () const
+{
+ return this->session_type_;
+}
+
+inline std::string& options::
+session_type ()
+{
+ return this->session_type_;
+}
+
+inline void options::
+session_type(const std::string& x)
+{
+ this->session_type_ = x;
+}
+
+inline bool options::
+session_type_specified () const
+{
+ return this->session_type_specified_;
+}
+
+inline void options::
+session_type_specified(bool x)
+{
+ this->session_type_specified_ = x;
+}
+
+inline const std::string& options::
+profile () const
+{
+ return this->profile_;
+}
+
+inline std::string& options::
+profile ()
+{
+ return this->profile_;
+}
+
+inline void options::
+profile(const std::string& x)
+{
+ this->profile_ = x;
+}
+
+inline bool options::
+profile_specified () const
+{
+ return this->profile_specified_;
+}
+
+inline void options::
+profile_specified(bool x)
+{
+ this->profile_specified_ = x;
+}
+
+inline const bool& options::
+at_once () const
+{
+ return this->at_once_;
+}
+
+inline bool& options::
+at_once ()
+{
+ return this->at_once_;
+}
+
+inline void options::
+at_once(const bool& x)
+{
+ this->at_once_ = x;
+}
+
+inline const database_map<qname>& options::
+schema () const
+{
+ return this->schema_;
+}
+
+inline database_map<qname>& options::
+schema ()
+{
+ return this->schema_;
+}
+
+inline void options::
+schema(const database_map<qname>& x)
+{
+ this->schema_ = x;
+}
+
+inline bool options::
+schema_specified () const
+{
+ return this->schema_specified_;
+}
+
+inline void options::
+schema_specified(bool x)
+{
+ this->schema_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+export_symbol () const
+{
+ return this->export_symbol_;
+}
+
+inline database_map<std::string>& options::
+export_symbol ()
+{
+ return this->export_symbol_;
+}
+
+inline void options::
+export_symbol(const database_map<std::string>& x)
+{
+ this->export_symbol_ = x;
+}
+
+inline bool options::
+export_symbol_specified () const
+{
+ return this->export_symbol_specified_;
+}
+
+inline void options::
+export_symbol_specified(bool x)
+{
+ this->export_symbol_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+extern_symbol () const
+{
+ return this->extern_symbol_;
+}
+
+inline database_map<std::string>& options::
+extern_symbol ()
+{
+ return this->extern_symbol_;
+}
+
+inline void options::
+extern_symbol(const database_map<std::string>& x)
+{
+ this->extern_symbol_ = x;
+}
+
+inline bool options::
+extern_symbol_specified () const
+{
+ return this->extern_symbol_specified_;
+}
+
+inline void options::
+extern_symbol_specified(bool x)
+{
+ this->extern_symbol_specified_ = x;
+}
+
+inline const cxx_version& options::
+std () const
+{
+ return this->std_;
+}
+
+inline cxx_version& options::
+std ()
+{
+ return this->std_;
+}
+
+inline void options::
+std(const cxx_version& x)
+{
+ this->std_ = x;
+}
+
+inline bool options::
+std_specified () const
+{
+ return this->std_specified_;
+}
+
+inline void options::
+std_specified(bool x)
+{
+ this->std_specified_ = x;
+}
+
+inline const bool& options::
+warn_hard_add () const
+{
+ return this->warn_hard_add_;
+}
+
+inline bool& options::
+warn_hard_add ()
+{
+ return this->warn_hard_add_;
+}
+
+inline void options::
+warn_hard_add(const bool& x)
+{
+ this->warn_hard_add_ = x;
+}
+
+inline const bool& options::
+warn_hard_delete () const
+{
+ return this->warn_hard_delete_;
+}
+
+inline bool& options::
+warn_hard_delete ()
+{
+ return this->warn_hard_delete_;
+}
+
+inline void options::
+warn_hard_delete(const bool& x)
+{
+ this->warn_hard_delete_ = x;
+}
+
+inline const bool& options::
+warn_hard () const
+{
+ return this->warn_hard_;
+}
+
+inline bool& options::
+warn_hard ()
+{
+ return this->warn_hard_;
+}
+
+inline void options::
+warn_hard(const bool& x)
+{
+ this->warn_hard_ = x;
+}
+
+inline const std::string& options::
+output_dir () const
+{
+ return this->output_dir_;
+}
+
+inline std::string& options::
+output_dir ()
+{
+ return this->output_dir_;
+}
+
+inline void options::
+output_dir(const std::string& x)
+{
+ this->output_dir_ = x;
+}
+
+inline bool options::
+output_dir_specified () const
+{
+ return this->output_dir_specified_;
+}
+
+inline void options::
+output_dir_specified(bool x)
+{
+ this->output_dir_specified_ = x;
+}
+
+inline const std::string& options::
+input_name () const
+{
+ return this->input_name_;
+}
+
+inline std::string& options::
+input_name ()
+{
+ return this->input_name_;
+}
+
+inline void options::
+input_name(const std::string& x)
+{
+ this->input_name_ = x;
+}
+
+inline bool options::
+input_name_specified () const
+{
+ return this->input_name_specified_;
+}
+
+inline void options::
+input_name_specified(bool x)
+{
+ this->input_name_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+changelog () const
+{
+ return this->changelog_;
+}
+
+inline database_map<std::string>& options::
+changelog ()
+{
+ return this->changelog_;
+}
+
+inline void options::
+changelog(const database_map<std::string>& x)
+{
+ this->changelog_ = x;
+}
+
+inline bool options::
+changelog_specified () const
+{
+ return this->changelog_specified_;
+}
+
+inline void options::
+changelog_specified(bool x)
+{
+ this->changelog_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+changelog_in () const
+{
+ return this->changelog_in_;
+}
+
+inline database_map<std::string>& options::
+changelog_in ()
+{
+ return this->changelog_in_;
+}
+
+inline void options::
+changelog_in(const database_map<std::string>& x)
+{
+ this->changelog_in_ = x;
+}
+
+inline bool options::
+changelog_in_specified () const
+{
+ return this->changelog_in_specified_;
+}
+
+inline void options::
+changelog_in_specified(bool x)
+{
+ this->changelog_in_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+changelog_out () const
+{
+ return this->changelog_out_;
+}
+
+inline database_map<std::string>& options::
+changelog_out ()
+{
+ return this->changelog_out_;
+}
+
+inline void options::
+changelog_out(const database_map<std::string>& x)
+{
+ this->changelog_out_ = x;
+}
+
+inline bool options::
+changelog_out_specified () const
+{
+ return this->changelog_out_specified_;
+}
+
+inline void options::
+changelog_out_specified(bool x)
+{
+ this->changelog_out_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+changelog_dir () const
+{
+ return this->changelog_dir_;
+}
+
+inline database_map<std::string>& options::
+changelog_dir ()
+{
+ return this->changelog_dir_;
+}
+
+inline void options::
+changelog_dir(const database_map<std::string>& x)
+{
+ this->changelog_dir_ = x;
+}
+
+inline bool options::
+changelog_dir_specified () const
+{
+ return this->changelog_dir_specified_;
+}
+
+inline void options::
+changelog_dir_specified(bool x)
+{
+ this->changelog_dir_specified_ = x;
+}
+
+inline const bool& options::
+init_changelog () const
+{
+ return this->init_changelog_;
+}
+
+inline bool& options::
+init_changelog ()
+{
+ return this->init_changelog_;
+}
+
+inline void options::
+init_changelog(const bool& x)
+{
+ this->init_changelog_ = x;
+}
+
+inline const database_map<std::string>& options::
+odb_file_suffix () const
+{
+ return this->odb_file_suffix_;
+}
+
+inline database_map<std::string>& options::
+odb_file_suffix ()
+{
+ return this->odb_file_suffix_;
+}
+
+inline void options::
+odb_file_suffix(const database_map<std::string>& x)
+{
+ this->odb_file_suffix_ = x;
+}
+
+inline bool options::
+odb_file_suffix_specified () const
+{
+ return this->odb_file_suffix_specified_;
+}
+
+inline void options::
+odb_file_suffix_specified(bool x)
+{
+ this->odb_file_suffix_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+sql_file_suffix () const
+{
+ return this->sql_file_suffix_;
+}
+
+inline database_map<std::string>& options::
+sql_file_suffix ()
+{
+ return this->sql_file_suffix_;
+}
+
+inline void options::
+sql_file_suffix(const database_map<std::string>& x)
+{
+ this->sql_file_suffix_ = x;
+}
+
+inline bool options::
+sql_file_suffix_specified () const
+{
+ return this->sql_file_suffix_specified_;
+}
+
+inline void options::
+sql_file_suffix_specified(bool x)
+{
+ this->sql_file_suffix_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+schema_file_suffix () const
+{
+ return this->schema_file_suffix_;
+}
+
+inline database_map<std::string>& options::
+schema_file_suffix ()
+{
+ return this->schema_file_suffix_;
+}
+
+inline void options::
+schema_file_suffix(const database_map<std::string>& x)
+{
+ this->schema_file_suffix_ = x;
+}
+
+inline bool options::
+schema_file_suffix_specified () const
+{
+ return this->schema_file_suffix_specified_;
+}
+
+inline void options::
+schema_file_suffix_specified(bool x)
+{
+ this->schema_file_suffix_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+changelog_file_suffix () const
+{
+ return this->changelog_file_suffix_;
+}
+
+inline database_map<std::string>& options::
+changelog_file_suffix ()
+{
+ return this->changelog_file_suffix_;
+}
+
+inline void options::
+changelog_file_suffix(const database_map<std::string>& x)
+{
+ this->changelog_file_suffix_ = x;
+}
+
+inline bool options::
+changelog_file_suffix_specified () const
+{
+ return this->changelog_file_suffix_specified_;
+}
+
+inline void options::
+changelog_file_suffix_specified(bool x)
+{
+ this->changelog_file_suffix_specified_ = x;
+}
+
+inline const std::string& options::
+hxx_suffix () const
+{
+ return this->hxx_suffix_;
+}
+
+inline std::string& options::
+hxx_suffix ()
+{
+ return this->hxx_suffix_;
+}
+
+inline void options::
+hxx_suffix(const std::string& x)
+{
+ this->hxx_suffix_ = x;
+}
+
+inline bool options::
+hxx_suffix_specified () const
+{
+ return this->hxx_suffix_specified_;
+}
+
+inline void options::
+hxx_suffix_specified(bool x)
+{
+ this->hxx_suffix_specified_ = x;
+}
+
+inline const std::string& options::
+ixx_suffix () const
+{
+ return this->ixx_suffix_;
+}
+
+inline std::string& options::
+ixx_suffix ()
+{
+ return this->ixx_suffix_;
+}
+
+inline void options::
+ixx_suffix(const std::string& x)
+{
+ this->ixx_suffix_ = x;
+}
+
+inline bool options::
+ixx_suffix_specified () const
+{
+ return this->ixx_suffix_specified_;
+}
+
+inline void options::
+ixx_suffix_specified(bool x)
+{
+ this->ixx_suffix_specified_ = x;
+}
+
+inline const std::string& options::
+cxx_suffix () const
+{
+ return this->cxx_suffix_;
+}
+
+inline std::string& options::
+cxx_suffix ()
+{
+ return this->cxx_suffix_;
+}
+
+inline void options::
+cxx_suffix(const std::string& x)
+{
+ this->cxx_suffix_ = x;
+}
+
+inline bool options::
+cxx_suffix_specified () const
+{
+ return this->cxx_suffix_specified_;
+}
+
+inline void options::
+cxx_suffix_specified(bool x)
+{
+ this->cxx_suffix_specified_ = x;
+}
+
+inline const std::string& options::
+sql_suffix () const
+{
+ return this->sql_suffix_;
+}
+
+inline std::string& options::
+sql_suffix ()
+{
+ return this->sql_suffix_;
+}
+
+inline void options::
+sql_suffix(const std::string& x)
+{
+ this->sql_suffix_ = x;
+}
+
+inline bool options::
+sql_suffix_specified () const
+{
+ return this->sql_suffix_specified_;
+}
+
+inline void options::
+sql_suffix_specified(bool x)
+{
+ this->sql_suffix_specified_ = x;
+}
+
+inline const std::string& options::
+changelog_suffix () const
+{
+ return this->changelog_suffix_;
+}
+
+inline std::string& options::
+changelog_suffix ()
+{
+ return this->changelog_suffix_;
+}
+
+inline void options::
+changelog_suffix(const std::string& x)
+{
+ this->changelog_suffix_ = x;
+}
+
+inline bool options::
+changelog_suffix_specified () const
+{
+ return this->changelog_suffix_specified_;
+}
+
+inline void options::
+changelog_suffix_specified(bool x)
+{
+ this->changelog_suffix_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+hxx_prologue () const
+{
+ return this->hxx_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+hxx_prologue ()
+{
+ return this->hxx_prologue_;
+}
+
+inline void options::
+hxx_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->hxx_prologue_ = x;
+}
+
+inline bool options::
+hxx_prologue_specified () const
+{
+ return this->hxx_prologue_specified_;
+}
+
+inline void options::
+hxx_prologue_specified(bool x)
+{
+ this->hxx_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+ixx_prologue () const
+{
+ return this->ixx_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+ixx_prologue ()
+{
+ return this->ixx_prologue_;
+}
+
+inline void options::
+ixx_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->ixx_prologue_ = x;
+}
+
+inline bool options::
+ixx_prologue_specified () const
+{
+ return this->ixx_prologue_specified_;
+}
+
+inline void options::
+ixx_prologue_specified(bool x)
+{
+ this->ixx_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+cxx_prologue () const
+{
+ return this->cxx_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+cxx_prologue ()
+{
+ return this->cxx_prologue_;
+}
+
+inline void options::
+cxx_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->cxx_prologue_ = x;
+}
+
+inline bool options::
+cxx_prologue_specified () const
+{
+ return this->cxx_prologue_specified_;
+}
+
+inline void options::
+cxx_prologue_specified(bool x)
+{
+ this->cxx_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+schema_prologue () const
+{
+ return this->schema_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+schema_prologue ()
+{
+ return this->schema_prologue_;
+}
+
+inline void options::
+schema_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->schema_prologue_ = x;
+}
+
+inline bool options::
+schema_prologue_specified () const
+{
+ return this->schema_prologue_specified_;
+}
+
+inline void options::
+schema_prologue_specified(bool x)
+{
+ this->schema_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_prologue () const
+{
+ return this->sql_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_prologue ()
+{
+ return this->sql_prologue_;
+}
+
+inline void options::
+sql_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_prologue_ = x;
+}
+
+inline bool options::
+sql_prologue_specified () const
+{
+ return this->sql_prologue_specified_;
+}
+
+inline void options::
+sql_prologue_specified(bool x)
+{
+ this->sql_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+migration_prologue () const
+{
+ return this->migration_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+migration_prologue ()
+{
+ return this->migration_prologue_;
+}
+
+inline void options::
+migration_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->migration_prologue_ = x;
+}
+
+inline bool options::
+migration_prologue_specified () const
+{
+ return this->migration_prologue_specified_;
+}
+
+inline void options::
+migration_prologue_specified(bool x)
+{
+ this->migration_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_interlude () const
+{
+ return this->sql_interlude_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_interlude ()
+{
+ return this->sql_interlude_;
+}
+
+inline void options::
+sql_interlude(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_interlude_ = x;
+}
+
+inline bool options::
+sql_interlude_specified () const
+{
+ return this->sql_interlude_specified_;
+}
+
+inline void options::
+sql_interlude_specified(bool x)
+{
+ this->sql_interlude_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+hxx_epilogue () const
+{
+ return this->hxx_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+hxx_epilogue ()
+{
+ return this->hxx_epilogue_;
+}
+
+inline void options::
+hxx_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->hxx_epilogue_ = x;
+}
+
+inline bool options::
+hxx_epilogue_specified () const
+{
+ return this->hxx_epilogue_specified_;
+}
+
+inline void options::
+hxx_epilogue_specified(bool x)
+{
+ this->hxx_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+ixx_epilogue () const
+{
+ return this->ixx_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+ixx_epilogue ()
+{
+ return this->ixx_epilogue_;
+}
+
+inline void options::
+ixx_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->ixx_epilogue_ = x;
+}
+
+inline bool options::
+ixx_epilogue_specified () const
+{
+ return this->ixx_epilogue_specified_;
+}
+
+inline void options::
+ixx_epilogue_specified(bool x)
+{
+ this->ixx_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+cxx_epilogue () const
+{
+ return this->cxx_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+cxx_epilogue ()
+{
+ return this->cxx_epilogue_;
+}
+
+inline void options::
+cxx_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->cxx_epilogue_ = x;
+}
+
+inline bool options::
+cxx_epilogue_specified () const
+{
+ return this->cxx_epilogue_specified_;
+}
+
+inline void options::
+cxx_epilogue_specified(bool x)
+{
+ this->cxx_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+schema_epilogue () const
+{
+ return this->schema_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+schema_epilogue ()
+{
+ return this->schema_epilogue_;
+}
+
+inline void options::
+schema_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->schema_epilogue_ = x;
+}
+
+inline bool options::
+schema_epilogue_specified () const
+{
+ return this->schema_epilogue_specified_;
+}
+
+inline void options::
+schema_epilogue_specified(bool x)
+{
+ this->schema_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_epilogue () const
+{
+ return this->sql_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_epilogue ()
+{
+ return this->sql_epilogue_;
+}
+
+inline void options::
+sql_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_epilogue_ = x;
+}
+
+inline bool options::
+sql_epilogue_specified () const
+{
+ return this->sql_epilogue_specified_;
+}
+
+inline void options::
+sql_epilogue_specified(bool x)
+{
+ this->sql_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+migration_epilogue () const
+{
+ return this->migration_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+migration_epilogue ()
+{
+ return this->migration_epilogue_;
+}
+
+inline void options::
+migration_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->migration_epilogue_ = x;
+}
+
+inline bool options::
+migration_epilogue_specified () const
+{
+ return this->migration_epilogue_specified_;
+}
+
+inline void options::
+migration_epilogue_specified(bool x)
+{
+ this->migration_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+hxx_prologue_file () const
+{
+ return this->hxx_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+hxx_prologue_file ()
+{
+ return this->hxx_prologue_file_;
+}
+
+inline void options::
+hxx_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->hxx_prologue_file_ = x;
+}
+
+inline bool options::
+hxx_prologue_file_specified () const
+{
+ return this->hxx_prologue_file_specified_;
+}
+
+inline void options::
+hxx_prologue_file_specified(bool x)
+{
+ this->hxx_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+ixx_prologue_file () const
+{
+ return this->ixx_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+ixx_prologue_file ()
+{
+ return this->ixx_prologue_file_;
+}
+
+inline void options::
+ixx_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->ixx_prologue_file_ = x;
+}
+
+inline bool options::
+ixx_prologue_file_specified () const
+{
+ return this->ixx_prologue_file_specified_;
+}
+
+inline void options::
+ixx_prologue_file_specified(bool x)
+{
+ this->ixx_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+cxx_prologue_file () const
+{
+ return this->cxx_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+cxx_prologue_file ()
+{
+ return this->cxx_prologue_file_;
+}
+
+inline void options::
+cxx_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->cxx_prologue_file_ = x;
+}
+
+inline bool options::
+cxx_prologue_file_specified () const
+{
+ return this->cxx_prologue_file_specified_;
+}
+
+inline void options::
+cxx_prologue_file_specified(bool x)
+{
+ this->cxx_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+schema_prologue_file () const
+{
+ return this->schema_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+schema_prologue_file ()
+{
+ return this->schema_prologue_file_;
+}
+
+inline void options::
+schema_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->schema_prologue_file_ = x;
+}
+
+inline bool options::
+schema_prologue_file_specified () const
+{
+ return this->schema_prologue_file_specified_;
+}
+
+inline void options::
+schema_prologue_file_specified(bool x)
+{
+ this->schema_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_prologue_file () const
+{
+ return this->sql_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_prologue_file ()
+{
+ return this->sql_prologue_file_;
+}
+
+inline void options::
+sql_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_prologue_file_ = x;
+}
+
+inline bool options::
+sql_prologue_file_specified () const
+{
+ return this->sql_prologue_file_specified_;
+}
+
+inline void options::
+sql_prologue_file_specified(bool x)
+{
+ this->sql_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+migration_prologue_file () const
+{
+ return this->migration_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+migration_prologue_file ()
+{
+ return this->migration_prologue_file_;
+}
+
+inline void options::
+migration_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->migration_prologue_file_ = x;
+}
+
+inline bool options::
+migration_prologue_file_specified () const
+{
+ return this->migration_prologue_file_specified_;
+}
+
+inline void options::
+migration_prologue_file_specified(bool x)
+{
+ this->migration_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_interlude_file () const
+{
+ return this->sql_interlude_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_interlude_file ()
+{
+ return this->sql_interlude_file_;
+}
+
+inline void options::
+sql_interlude_file(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_interlude_file_ = x;
+}
+
+inline bool options::
+sql_interlude_file_specified () const
+{
+ return this->sql_interlude_file_specified_;
+}
+
+inline void options::
+sql_interlude_file_specified(bool x)
+{
+ this->sql_interlude_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+hxx_epilogue_file () const
+{
+ return this->hxx_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+hxx_epilogue_file ()
+{
+ return this->hxx_epilogue_file_;
+}
+
+inline void options::
+hxx_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->hxx_epilogue_file_ = x;
+}
+
+inline bool options::
+hxx_epilogue_file_specified () const
+{
+ return this->hxx_epilogue_file_specified_;
+}
+
+inline void options::
+hxx_epilogue_file_specified(bool x)
+{
+ this->hxx_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+ixx_epilogue_file () const
+{
+ return this->ixx_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+ixx_epilogue_file ()
+{
+ return this->ixx_epilogue_file_;
+}
+
+inline void options::
+ixx_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->ixx_epilogue_file_ = x;
+}
+
+inline bool options::
+ixx_epilogue_file_specified () const
+{
+ return this->ixx_epilogue_file_specified_;
+}
+
+inline void options::
+ixx_epilogue_file_specified(bool x)
+{
+ this->ixx_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+cxx_epilogue_file () const
+{
+ return this->cxx_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+cxx_epilogue_file ()
+{
+ return this->cxx_epilogue_file_;
+}
+
+inline void options::
+cxx_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->cxx_epilogue_file_ = x;
+}
+
+inline bool options::
+cxx_epilogue_file_specified () const
+{
+ return this->cxx_epilogue_file_specified_;
+}
+
+inline void options::
+cxx_epilogue_file_specified(bool x)
+{
+ this->cxx_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+schema_epilogue_file () const
+{
+ return this->schema_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+schema_epilogue_file ()
+{
+ return this->schema_epilogue_file_;
+}
+
+inline void options::
+schema_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->schema_epilogue_file_ = x;
+}
+
+inline bool options::
+schema_epilogue_file_specified () const
+{
+ return this->schema_epilogue_file_specified_;
+}
+
+inline void options::
+schema_epilogue_file_specified(bool x)
+{
+ this->schema_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_epilogue_file () const
+{
+ return this->sql_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_epilogue_file ()
+{
+ return this->sql_epilogue_file_;
+}
+
+inline void options::
+sql_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_epilogue_file_ = x;
+}
+
+inline bool options::
+sql_epilogue_file_specified () const
+{
+ return this->sql_epilogue_file_specified_;
+}
+
+inline void options::
+sql_epilogue_file_specified(bool x)
+{
+ this->sql_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+migration_epilogue_file () const
+{
+ return this->migration_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+migration_epilogue_file ()
+{
+ return this->migration_epilogue_file_;
+}
+
+inline void options::
+migration_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->migration_epilogue_file_ = x;
+}
+
+inline bool options::
+migration_epilogue_file_specified () const
+{
+ return this->migration_epilogue_file_specified_;
+}
+
+inline void options::
+migration_epilogue_file_specified(bool x)
+{
+ this->migration_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+odb_prologue () const
+{
+ return this->odb_prologue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+odb_prologue ()
+{
+ return this->odb_prologue_;
+}
+
+inline void options::
+odb_prologue(const database_map<std::vector<std::string> >& x)
+{
+ this->odb_prologue_ = x;
+}
+
+inline bool options::
+odb_prologue_specified () const
+{
+ return this->odb_prologue_specified_;
+}
+
+inline void options::
+odb_prologue_specified(bool x)
+{
+ this->odb_prologue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+odb_prologue_file () const
+{
+ return this->odb_prologue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+odb_prologue_file ()
+{
+ return this->odb_prologue_file_;
+}
+
+inline void options::
+odb_prologue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->odb_prologue_file_ = x;
+}
+
+inline bool options::
+odb_prologue_file_specified () const
+{
+ return this->odb_prologue_file_specified_;
+}
+
+inline void options::
+odb_prologue_file_specified(bool x)
+{
+ this->odb_prologue_file_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+odb_epilogue () const
+{
+ return this->odb_epilogue_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+odb_epilogue ()
+{
+ return this->odb_epilogue_;
+}
+
+inline void options::
+odb_epilogue(const database_map<std::vector<std::string> >& x)
+{
+ this->odb_epilogue_ = x;
+}
+
+inline bool options::
+odb_epilogue_specified () const
+{
+ return this->odb_epilogue_specified_;
+}
+
+inline void options::
+odb_epilogue_specified(bool x)
+{
+ this->odb_epilogue_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+odb_epilogue_file () const
+{
+ return this->odb_epilogue_file_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+odb_epilogue_file ()
+{
+ return this->odb_epilogue_file_;
+}
+
+inline void options::
+odb_epilogue_file(const database_map<std::vector<std::string> >& x)
+{
+ this->odb_epilogue_file_ = x;
+}
+
+inline bool options::
+odb_epilogue_file_specified () const
+{
+ return this->odb_epilogue_file_specified_;
+}
+
+inline void options::
+odb_epilogue_file_specified(bool x)
+{
+ this->odb_epilogue_file_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+table_prefix () const
+{
+ return this->table_prefix_;
+}
+
+inline database_map<std::string>& options::
+table_prefix ()
+{
+ return this->table_prefix_;
+}
+
+inline void options::
+table_prefix(const database_map<std::string>& x)
+{
+ this->table_prefix_ = x;
+}
+
+inline bool options::
+table_prefix_specified () const
+{
+ return this->table_prefix_specified_;
+}
+
+inline void options::
+table_prefix_specified(bool x)
+{
+ this->table_prefix_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+index_suffix () const
+{
+ return this->index_suffix_;
+}
+
+inline database_map<std::string>& options::
+index_suffix ()
+{
+ return this->index_suffix_;
+}
+
+inline void options::
+index_suffix(const database_map<std::string>& x)
+{
+ this->index_suffix_ = x;
+}
+
+inline bool options::
+index_suffix_specified () const
+{
+ return this->index_suffix_specified_;
+}
+
+inline void options::
+index_suffix_specified(bool x)
+{
+ this->index_suffix_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+fkey_suffix () const
+{
+ return this->fkey_suffix_;
+}
+
+inline database_map<std::string>& options::
+fkey_suffix ()
+{
+ return this->fkey_suffix_;
+}
+
+inline void options::
+fkey_suffix(const database_map<std::string>& x)
+{
+ this->fkey_suffix_ = x;
+}
+
+inline bool options::
+fkey_suffix_specified () const
+{
+ return this->fkey_suffix_specified_;
+}
+
+inline void options::
+fkey_suffix_specified(bool x)
+{
+ this->fkey_suffix_specified_ = x;
+}
+
+inline const database_map<std::string>& options::
+sequence_suffix () const
+{
+ return this->sequence_suffix_;
+}
+
+inline database_map<std::string>& options::
+sequence_suffix ()
+{
+ return this->sequence_suffix_;
+}
+
+inline void options::
+sequence_suffix(const database_map<std::string>& x)
+{
+ this->sequence_suffix_ = x;
+}
+
+inline bool options::
+sequence_suffix_specified () const
+{
+ return this->sequence_suffix_specified_;
+}
+
+inline void options::
+sequence_suffix_specified(bool x)
+{
+ this->sequence_suffix_specified_ = x;
+}
+
+inline const database_map<name_case>& options::
+sql_name_case () const
+{
+ return this->sql_name_case_;
+}
+
+inline database_map<name_case>& options::
+sql_name_case ()
+{
+ return this->sql_name_case_;
+}
+
+inline void options::
+sql_name_case(const database_map<name_case>& x)
+{
+ this->sql_name_case_ = x;
+}
+
+inline bool options::
+sql_name_case_specified () const
+{
+ return this->sql_name_case_specified_;
+}
+
+inline void options::
+sql_name_case_specified(bool x)
+{
+ this->sql_name_case_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+table_regex () const
+{
+ return this->table_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+table_regex ()
+{
+ return this->table_regex_;
+}
+
+inline void options::
+table_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->table_regex_ = x;
+}
+
+inline bool options::
+table_regex_specified () const
+{
+ return this->table_regex_specified_;
+}
+
+inline void options::
+table_regex_specified(bool x)
+{
+ this->table_regex_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+column_regex () const
+{
+ return this->column_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+column_regex ()
+{
+ return this->column_regex_;
+}
+
+inline void options::
+column_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->column_regex_ = x;
+}
+
+inline bool options::
+column_regex_specified () const
+{
+ return this->column_regex_specified_;
+}
+
+inline void options::
+column_regex_specified(bool x)
+{
+ this->column_regex_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+index_regex () const
+{
+ return this->index_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+index_regex ()
+{
+ return this->index_regex_;
+}
+
+inline void options::
+index_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->index_regex_ = x;
+}
+
+inline bool options::
+index_regex_specified () const
+{
+ return this->index_regex_specified_;
+}
+
+inline void options::
+index_regex_specified(bool x)
+{
+ this->index_regex_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+fkey_regex () const
+{
+ return this->fkey_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+fkey_regex ()
+{
+ return this->fkey_regex_;
+}
+
+inline void options::
+fkey_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->fkey_regex_ = x;
+}
+
+inline bool options::
+fkey_regex_specified () const
+{
+ return this->fkey_regex_specified_;
+}
+
+inline void options::
+fkey_regex_specified(bool x)
+{
+ this->fkey_regex_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sequence_regex () const
+{
+ return this->sequence_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sequence_regex ()
+{
+ return this->sequence_regex_;
+}
+
+inline void options::
+sequence_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->sequence_regex_ = x;
+}
+
+inline bool options::
+sequence_regex_specified () const
+{
+ return this->sequence_regex_specified_;
+}
+
+inline void options::
+sequence_regex_specified(bool x)
+{
+ this->sequence_regex_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+statement_regex () const
+{
+ return this->statement_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+statement_regex ()
+{
+ return this->statement_regex_;
+}
+
+inline void options::
+statement_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->statement_regex_ = x;
+}
+
+inline bool options::
+statement_regex_specified () const
+{
+ return this->statement_regex_specified_;
+}
+
+inline void options::
+statement_regex_specified(bool x)
+{
+ this->statement_regex_specified_ = x;
+}
+
+inline const database_map<std::vector<std::string> >& options::
+sql_name_regex () const
+{
+ return this->sql_name_regex_;
+}
+
+inline database_map<std::vector<std::string> >& options::
+sql_name_regex ()
+{
+ return this->sql_name_regex_;
+}
+
+inline void options::
+sql_name_regex(const database_map<std::vector<std::string> >& x)
+{
+ this->sql_name_regex_ = x;
+}
+
+inline bool options::
+sql_name_regex_specified () const
+{
+ return this->sql_name_regex_specified_;
+}
+
+inline void options::
+sql_name_regex_specified(bool x)
+{
+ this->sql_name_regex_specified_ = x;
+}
+
+inline const bool& options::
+sql_name_regex_trace () const
+{
+ return this->sql_name_regex_trace_;
+}
+
+inline bool& options::
+sql_name_regex_trace ()
+{
+ return this->sql_name_regex_trace_;
+}
+
+inline void options::
+sql_name_regex_trace(const bool& x)
+{
+ this->sql_name_regex_trace_ = x;
+}
+
+inline const std::vector<std::string>& options::
+accessor_regex () const
+{
+ return this->accessor_regex_;
+}
+
+inline std::vector<std::string>& options::
+accessor_regex ()
+{
+ return this->accessor_regex_;
+}
+
+inline void options::
+accessor_regex(const std::vector<std::string>& x)
+{
+ this->accessor_regex_ = x;
+}
+
+inline bool options::
+accessor_regex_specified () const
+{
+ return this->accessor_regex_specified_;
+}
+
+inline void options::
+accessor_regex_specified(bool x)
+{
+ this->accessor_regex_specified_ = x;
+}
+
+inline const bool& options::
+accessor_regex_trace () const
+{
+ return this->accessor_regex_trace_;
+}
+
+inline bool& options::
+accessor_regex_trace ()
+{
+ return this->accessor_regex_trace_;
+}
+
+inline void options::
+accessor_regex_trace(const bool& x)
+{
+ this->accessor_regex_trace_ = x;
+}
+
+inline const std::vector<std::string>& options::
+modifier_regex () const
+{
+ return this->modifier_regex_;
+}
+
+inline std::vector<std::string>& options::
+modifier_regex ()
+{
+ return this->modifier_regex_;
+}
+
+inline void options::
+modifier_regex(const std::vector<std::string>& x)
+{
+ this->modifier_regex_ = x;
+}
+
+inline bool options::
+modifier_regex_specified () const
+{
+ return this->modifier_regex_specified_;
+}
+
+inline void options::
+modifier_regex_specified(bool x)
+{
+ this->modifier_regex_specified_ = x;
+}
+
+inline const bool& options::
+modifier_regex_trace () const
+{
+ return this->modifier_regex_trace_;
+}
+
+inline bool& options::
+modifier_regex_trace ()
+{
+ return this->modifier_regex_trace_;
+}
+
+inline void options::
+modifier_regex_trace(const bool& x)
+{
+ this->modifier_regex_trace_ = x;
+}
+
+inline const bool& options::
+include_with_brackets () const
+{
+ return this->include_with_brackets_;
+}
+
+inline bool& options::
+include_with_brackets ()
+{
+ return this->include_with_brackets_;
+}
+
+inline void options::
+include_with_brackets(const bool& x)
+{
+ this->include_with_brackets_ = x;
+}
+
+inline const std::string& options::
+include_prefix () const
+{
+ return this->include_prefix_;
+}
+
+inline std::string& options::
+include_prefix ()
+{
+ return this->include_prefix_;
+}
+
+inline void options::
+include_prefix(const std::string& x)
+{
+ this->include_prefix_ = x;
+}
+
+inline bool options::
+include_prefix_specified () const
+{
+ return this->include_prefix_specified_;
+}
+
+inline void options::
+include_prefix_specified(bool x)
+{
+ this->include_prefix_specified_ = x;
+}
+
+inline const std::vector<std::string>& options::
+include_regex () const
+{
+ return this->include_regex_;
+}
+
+inline std::vector<std::string>& options::
+include_regex ()
+{
+ return this->include_regex_;
+}
+
+inline void options::
+include_regex(const std::vector<std::string>& x)
+{
+ this->include_regex_ = x;
+}
+
+inline bool options::
+include_regex_specified () const
+{
+ return this->include_regex_specified_;
+}
+
+inline void options::
+include_regex_specified(bool x)
+{
+ this->include_regex_specified_ = x;
+}
+
+inline const bool& options::
+include_regex_trace () const
+{
+ return this->include_regex_trace_;
+}
+
+inline bool& options::
+include_regex_trace ()
+{
+ return this->include_regex_trace_;
+}
+
+inline void options::
+include_regex_trace(const bool& x)
+{
+ this->include_regex_trace_ = x;
+}
+
+inline const std::string& options::
+guard_prefix () const
+{
+ return this->guard_prefix_;
+}
+
+inline std::string& options::
+guard_prefix ()
+{
+ return this->guard_prefix_;
+}
+
+inline void options::
+guard_prefix(const std::string& x)
+{
+ this->guard_prefix_ = x;
+}
+
+inline bool options::
+guard_prefix_specified () const
+{
+ return this->guard_prefix_specified_;
+}
+
+inline void options::
+guard_prefix_specified(bool x)
+{
+ this->guard_prefix_specified_ = x;
+}
+
+inline const bool& options::
+show_sloc () const
+{
+ return this->show_sloc_;
+}
+
+inline bool& options::
+show_sloc ()
+{
+ return this->show_sloc_;
+}
+
+inline void options::
+show_sloc(const bool& x)
+{
+ this->show_sloc_ = x;
+}
+
+inline const std::size_t& options::
+sloc_limit () const
+{
+ return this->sloc_limit_;
+}
+
+inline std::size_t& options::
+sloc_limit ()
+{
+ return this->sloc_limit_;
+}
+
+inline void options::
+sloc_limit(const std::size_t& x)
+{
+ this->sloc_limit_ = x;
+}
+
+inline bool options::
+sloc_limit_specified () const
+{
+ return this->sloc_limit_specified_;
+}
+
+inline void options::
+sloc_limit_specified(bool x)
+{
+ this->sloc_limit_specified_ = x;
+}
+
+inline const std::string& options::
+options_file () const
+{
+ return this->options_file_;
+}
+
+inline std::string& options::
+options_file ()
+{
+ return this->options_file_;
+}
+
+inline void options::
+options_file(const std::string& x)
+{
+ this->options_file_ = x;
+}
+
+inline bool options::
+options_file_specified () const
+{
+ return this->options_file_specified_;
+}
+
+inline void options::
+options_file_specified(bool x)
+{
+ this->options_file_specified_ = x;
+}
+
+inline const std::vector<std::string>& options::
+x () const
+{
+ return this->x_;
+}
+
+inline std::vector<std::string>& options::
+x ()
+{
+ return this->x_;
+}
+
+inline void options::
+x(const std::vector<std::string>& x)
+{
+ this->x_ = x;
+}
+
+inline bool options::
+x_specified () const
+{
+ return this->x_specified_;
+}
+
+inline void options::
+x_specified(bool x)
+{
+ this->x_specified_ = x;
+}
+
+inline const bool& options::
+v () const
+{
+ return this->v_;
+}
+
+inline bool& options::
+v ()
+{
+ return this->v_;
+}
+
+inline void options::
+v(const bool& x)
+{
+ this->v_ = x;
+}
+
+inline const bool& options::
+trace () const
+{
+ return this->trace_;
+}
+
+inline bool& options::
+trace ()
+{
+ return this->trace_;
+}
+
+inline void options::
+trace(const bool& x)
+{
+ this->trace_ = x;
+}
+
+inline const std::string& options::
+mysql_engine () const
+{
+ return this->mysql_engine_;
+}
+
+inline std::string& options::
+mysql_engine ()
+{
+ return this->mysql_engine_;
+}
+
+inline void options::
+mysql_engine(const std::string& x)
+{
+ this->mysql_engine_ = x;
+}
+
+inline bool options::
+mysql_engine_specified () const
+{
+ return this->mysql_engine_specified_;
+}
+
+inline void options::
+mysql_engine_specified(bool x)
+{
+ this->mysql_engine_specified_ = x;
+}
+
+inline const bool& options::
+sqlite_override_null () const
+{
+ return this->sqlite_override_null_;
+}
+
+inline bool& options::
+sqlite_override_null ()
+{
+ return this->sqlite_override_null_;
+}
+
+inline void options::
+sqlite_override_null(const bool& x)
+{
+ this->sqlite_override_null_ = x;
+}
+
+inline const bool& options::
+sqlite_lax_auto_id () const
+{
+ return this->sqlite_lax_auto_id_;
+}
+
+inline bool& options::
+sqlite_lax_auto_id ()
+{
+ return this->sqlite_lax_auto_id_;
+}
+
+inline void options::
+sqlite_lax_auto_id(const bool& x)
+{
+ this->sqlite_lax_auto_id_ = x;
+}
+
+inline const ::pgsql_version& options::
+pgsql_server_version () const
+{
+ return this->pgsql_server_version_;
+}
+
+inline ::pgsql_version& options::
+pgsql_server_version ()
+{
+ return this->pgsql_server_version_;
+}
+
+inline void options::
+pgsql_server_version(const ::pgsql_version& x)
+{
+ this->pgsql_server_version_ = x;
+}
+
+inline bool options::
+pgsql_server_version_specified () const
+{
+ return this->pgsql_server_version_specified_;
+}
+
+inline void options::
+pgsql_server_version_specified(bool x)
+{
+ this->pgsql_server_version_specified_ = x;
+}
+
+inline const ::oracle_version& options::
+oracle_client_version () const
+{
+ return this->oracle_client_version_;
+}
+
+inline ::oracle_version& options::
+oracle_client_version ()
+{
+ return this->oracle_client_version_;
+}
+
+inline void options::
+oracle_client_version(const ::oracle_version& x)
+{
+ this->oracle_client_version_ = x;
+}
+
+inline bool options::
+oracle_client_version_specified () const
+{
+ return this->oracle_client_version_specified_;
+}
+
+inline void options::
+oracle_client_version_specified(bool x)
+{
+ this->oracle_client_version_specified_ = x;
+}
+
+inline const bool& options::
+oracle_warn_truncation () const
+{
+ return this->oracle_warn_truncation_;
+}
+
+inline bool& options::
+oracle_warn_truncation ()
+{
+ return this->oracle_warn_truncation_;
+}
+
+inline void options::
+oracle_warn_truncation(const bool& x)
+{
+ this->oracle_warn_truncation_ = x;
+}
+
+inline const ::mssql_version& options::
+mssql_server_version () const
+{
+ return this->mssql_server_version_;
+}
+
+inline ::mssql_version& options::
+mssql_server_version ()
+{
+ return this->mssql_server_version_;
+}
+
+inline void options::
+mssql_server_version(const ::mssql_version& x)
+{
+ this->mssql_server_version_ = x;
+}
+
+inline bool options::
+mssql_server_version_specified () const
+{
+ return this->mssql_server_version_specified_;
+}
+
+inline void options::
+mssql_server_version_specified(bool x)
+{
+ this->mssql_server_version_specified_ = x;
+}
+
+inline const unsigned int& options::
+mssql_short_limit () const
+{
+ return this->mssql_short_limit_;
+}
+
+inline unsigned int& options::
+mssql_short_limit ()
+{
+ return this->mssql_short_limit_;
+}
+
+inline void options::
+mssql_short_limit(const unsigned int& x)
+{
+ this->mssql_short_limit_ = x;
+}
+
+inline bool options::
+mssql_short_limit_specified () const
+{
+ return this->mssql_short_limit_specified_;
+}
+
+inline void options::
+mssql_short_limit_specified(bool x)
+{
+ this->mssql_short_limit_specified_ = x;
+}
+
+// Begin epilogue.
+//
+//
+// End epilogue.