forked from arc/libarc-validate
47 lines
884 B
C++
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
|