// -*- C++ -*- // // This file was generated by CLI, a command line interface // compiler for C++. // #ifndef BPKG_PKG_CHECKOUT_OPTIONS_HXX #define BPKG_PKG_CHECKOUT_OPTIONS_HXX // Begin prologue. // // // End prologue. #include namespace bpkg { class pkg_checkout_options: public ::bpkg::configuration_options { public: pkg_checkout_options (); // Return true if anything has been parsed. // bool parse (int& argc, char** argv, bool erase = false, ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); bool parse (int start, int& argc, char** argv, bool erase = false, ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); bool parse (int& argc, char** argv, int& end, bool erase = false, ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); bool parse (int start, int& argc, char** argv, int& end, bool erase = false, ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); bool parse (::bpkg::cli::scanner&, ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, ::bpkg::cli::unknown_mode argument = ::bpkg::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 pkg_checkout_options&); // Option accessors. // const bool& replace () const; const dir_path& output_root () const; bool output_root_specified () const; const bool& output_purge () const; // Print usage information. // static ::bpkg::cli::usage_para print_usage (::std::ostream&, ::bpkg::cli::usage_para = ::bpkg::cli::usage_para::none); // Implementation details. // protected: bool _parse (const char*, ::bpkg::cli::scanner&); private: bool _parse (::bpkg::cli::scanner&, ::bpkg::cli::unknown_mode option, ::bpkg::cli::unknown_mode argument); public: bool replace_; dir_path output_root_; bool output_root_specified_; bool output_purge_; }; } // Print page usage information. // namespace bpkg { ::bpkg::cli::usage_para print_bpkg_pkg_checkout_usage (::std::ostream&, ::bpkg::cli::usage_para = ::bpkg::cli::usage_para::none); } #include // Begin epilogue. // // // End epilogue. #endif // BPKG_PKG_CHECKOUT_OPTIONS_HXX