// -*- C++ -*- // // This file was generated by CLI, a command line interface // compiler for C++. // #ifndef LIBBUILD2_B_OPTIONS_HXX #define LIBBUILD2_B_OPTIONS_HXX // Begin prologue. // #include <libbuild2/export.hxx> // // End prologue. #include <libbuild2/common-options.hxx> namespace build2 { class LIBBUILD2_SYMEXPORT b_options { public: b_options (); // Return true if anything has been parsed. // bool parse (int& argc, char** argv, bool erase = false, ::build2::build::cli::unknown_mode option = ::build2::build::cli::unknown_mode::fail, ::build2::build::cli::unknown_mode argument = ::build2::build::cli::unknown_mode::stop); bool parse (int start, int& argc, char** argv, bool erase = false, ::build2::build::cli::unknown_mode option = ::build2::build::cli::unknown_mode::fail, ::build2::build::cli::unknown_mode argument = ::build2::build::cli::unknown_mode::stop); bool parse (int& argc, char** argv, int& end, bool erase = false, ::build2::build::cli::unknown_mode option = ::build2::build::cli::unknown_mode::fail, ::build2::build::cli::unknown_mode argument = ::build2::build::cli::unknown_mode::stop); bool parse (int start, int& argc, char** argv, int& end, bool erase = false, ::build2::build::cli::unknown_mode option = ::build2::build::cli::unknown_mode::fail, ::build2::build::cli::unknown_mode argument = ::build2::build::cli::unknown_mode::stop); bool parse (::build2::build::cli::scanner&, ::build2::build::cli::unknown_mode option = ::build2::build::cli::unknown_mode::fail, ::build2::build::cli::unknown_mode argument = ::build2::build::cli::unknown_mode::stop); // Merge options from the specified instance appending/overriding // them as if they appeared after options in this instance. // void merge (const b_options&); // Option accessors. // const uint64_t& build2_metadata () const; bool build2_metadata_specified () const; const bool& v () const; const bool& V () const; const bool& quiet () const; const bool& silent () const; const uint16_t& verbose () const; bool verbose_specified () const; const bool& stat () const; const bool& progress () const; const bool& no_progress () const; const bool& diag_color () const; const bool& no_diag_color () const; const size_t& jobs () const; bool jobs_specified () const; const size_t& max_jobs () const; bool max_jobs_specified () const; const size_t& queue_depth () const; bool queue_depth_specified () const; const string& file_cache () const; bool file_cache_specified () const; const size_t& max_stack () const; bool max_stack_specified () const; const bool& serial_stop () const; const bool& dry_run () const; const bool& no_diag_buffer () const; const bool& match_only () const; const bool& load_only () const; const bool& no_external_modules () const; const structured_result_format& structured_result () const; bool structured_result_specified () const; const bool& mtime_check () const; const bool& no_mtime_check () const; const strings& dump () const; bool dump_specified () const; const string& dump_format () const; bool dump_format_specified () const; const dir_paths& dump_scope () const; bool dump_scope_specified () const; const vector<pair<name, optional<name>>>& dump_target () const; bool dump_target_specified () const; const vector<name>& trace_match () const; bool trace_match_specified () const; const vector<name>& trace_execute () const; bool trace_execute_specified () const; const bool& no_column () const; const bool& no_line () const; const path& buildfile () const; bool buildfile_specified () const; const path& config_guess () const; bool config_guess_specified () const; const path& config_sub () const; bool config_sub_specified () const; const string& pager () const; bool pager_specified () const; const strings& pager_option () const; bool pager_option_specified () const; const string& options_file () const; bool options_file_specified () const; const dir_path& default_options () const; bool default_options_specified () const; const bool& no_default_options () const; const bool& help () const; const bool& version () const; // Print usage information. // static ::build2::build::cli::usage_para print_usage (::std::ostream&, ::build2::build::cli::usage_para = ::build2::build::cli::usage_para::none); // Implementation details. // protected: bool _parse (const char*, ::build2::build::cli::scanner&); private: bool _parse (::build2::build::cli::scanner&, ::build2::build::cli::unknown_mode option, ::build2::build::cli::unknown_mode argument); public: uint64_t build2_metadata_; bool build2_metadata_specified_; bool v_; bool V_; bool quiet_; bool silent_; uint16_t verbose_; bool verbose_specified_; bool stat_; bool progress_; bool no_progress_; bool diag_color_; bool no_diag_color_; size_t jobs_; bool jobs_specified_; size_t max_jobs_; bool max_jobs_specified_; size_t queue_depth_; bool queue_depth_specified_; string file_cache_; bool file_cache_specified_; size_t max_stack_; bool max_stack_specified_; bool serial_stop_; bool dry_run_; bool no_diag_buffer_; bool match_only_; bool load_only_; bool no_external_modules_; structured_result_format structured_result_; bool structured_result_specified_; bool mtime_check_; bool no_mtime_check_; strings dump_; bool dump_specified_; string dump_format_; bool dump_format_specified_; dir_paths dump_scope_; bool dump_scope_specified_; vector<pair<name, optional<name>>> dump_target_; bool dump_target_specified_; vector<name> trace_match_; bool trace_match_specified_; vector<name> trace_execute_; bool trace_execute_specified_; bool no_column_; bool no_line_; path buildfile_; bool buildfile_specified_; path config_guess_; bool config_guess_specified_; path config_sub_; bool config_sub_specified_; string pager_; bool pager_specified_; strings pager_option_; bool pager_option_specified_; string options_file_; bool options_file_specified_; dir_path default_options_; bool default_options_specified_; bool no_default_options_; bool help_; bool version_; }; } // Print page usage information. // namespace build2 { LIBBUILD2_SYMEXPORT ::build2::build::cli::usage_para print_b_usage (::std::ostream&, ::build2::build::cli::usage_para = ::build2::build::cli::usage_para::none); } #include <libbuild2/b-options.ixx> // Begin epilogue. // // // End epilogue. #endif // LIBBUILD2_B_OPTIONS_HXX