diff options
Diffstat (limited to 'bpkg/cfg-info-options.hxx')
-rw-r--r-- | bpkg/cfg-info-options.hxx | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/bpkg/cfg-info-options.hxx b/bpkg/cfg-info-options.hxx new file mode 100644 index 0000000..2024bf6 --- /dev/null +++ b/bpkg/cfg-info-options.hxx @@ -0,0 +1,125 @@ +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface +// compiler for C++. +// + +#ifndef BPKG_CFG_INFO_OPTIONS_HXX +#define BPKG_CFG_INFO_OPTIONS_HXX + +// Begin prologue. +// +// +// End prologue. + +#include <bpkg/configuration-options.hxx> + +namespace bpkg +{ + class cfg_info_options: public ::bpkg::configuration_options + { + public: + cfg_info_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 cfg_info_options&); + + // Option accessors. + // + const bool& + link () const; + + const bool& + backlink () const; + + const bool& + dangling () const; + + const bool& + recursive () 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 link_; + bool backlink_; + bool dangling_; + bool recursive_; + }; +} + +// Print page usage information. +// +namespace bpkg +{ + ::bpkg::cli::usage_para + print_bpkg_cfg_info_usage (::std::ostream&, + ::bpkg::cli::usage_para = ::bpkg::cli::usage_para::none); +} + +#include <bpkg/cfg-info-options.ixx> + +// Begin epilogue. +// +// +// End epilogue. + +#endif // BPKG_CFG_INFO_OPTIONS_HXX |