diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-08 13:08:28 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-08 13:08:28 +0200 |
commit | a7e871c63f781792434aa1f41c8ada4764a70b4b (patch) | |
tree | 97a0c4dddb178ee88044281846e1cb69940082e2 | |
parent | 7507e6686bc6d661cf6470946ada6e4139c05270 (diff) |
Add generated options parsing code to allow building from git
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | odb/.gitignore | 3 | ||||
-rw-r--r-- | odb/buildfile | 2 | ||||
-rw-r--r-- | odb/makefile | 16 | ||||
-rw-r--r-- | odb/options.cxx | 3840 | ||||
-rw-r--r-- | odb/options.hxx | 2252 | ||||
-rw-r--r-- | odb/options.ixx | 3382 |
7 files changed, 9487 insertions, 12 deletions
@@ -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. |