params.hh 482 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <list>
  3. #include <string>
  4. #include <istream>
  5. class Params
  6. {
  7. public:
  8. Params(int ac, char **av);
  9. virtual ~Params();
  10. std::basic_istream<char> &getInput() const;
  11. bool isValid() const;
  12. static void usage(const std::string &) noexcept;
  13. const std::string &getProgName() const;
  14. private:
  15. std::basic_istream<char> *input;
  16. const std::string progName;
  17. std::list<std::string> params;
  18. };