Lazy RSS
cli.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 #include <string>
5 #include <exception>
6 
7 namespace cli {
8 
12 class ParseError: public std::exception {
13  public:
15  ParseError();
16 
22  explicit ParseError(int result);
23 
27  explicit ParseError(int result, const char* desciption);
28 
34  virtual const char* what() const throw();
35 
41  int result() const;
42 
43  private:
44  int _result;
45  const char* _desc;
46 };
47 
51 class Options {
52  public:
59  Options(int argc, char *argv[]);
60 
62  const std::vector<std::string>& urls() const;
63 
67  static const char* usage;
68 
69  private:
70  void _handle_option(const std::string &option);
71  void _handle_url(const std::string &url);
72  std::vector<std::string> _urls;
73 };
74 }
Definition: cli.hpp:7
ParseError()
Initializes empty ParseError without error.
Definition: cli.cpp:5
int result() const
Returns return code.
Definition: cli.cpp:18
Command line parse error.
Definition: cli.hpp:12
static const char * usage
Getter of usage.
Definition: cli.hpp:67
virtual const char * what() const
Returns reason.
Definition: cli.cpp:14
Command line options parser.
Definition: cli.hpp:51