libarc-validate/arc/validate/command-line.hxx
2024-09-03 01:43:56 +02:00

47 lines
884 B
C++

#ifndef arc__validate__command_line_hxx_
#define arc__validate__command_line_hxx_
#include <arc/validate/export.hxx>
#include <set>
#include <stdexcept>
#include <string>
#include <vector>
namespace arc::validate
{
struct LIBARC_VALIDATE_SYMEXPORT command_line_t
{
bool print_version{};
bool print_usage{};
bool print_information{};
bool print_warnings{};
bool print_success{};
bool print_failure{};
std::set<std::string> include;
std::set<std::string> exclude;
bool list{};
};
LIBARC_VALIDATE_SYMEXPORT
command_line_t
parse_command_line(std::vector<std::string> const&);
/// Exception class used to indicate command line error.
///
class LIBARC_VALIDATE_SYMEXPORT command_line_error_t
: public std::runtime_error
{
public:
using std::runtime_error::runtime_error;
};
} // namespace arc::validate
#endif