1
1

params.hh 550 B

12345678910111213141516171819202122232425262728
  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. bool isIgnoringUnicode() const;
  15. private:
  16. std::basic_istream<char> *input;
  17. const std::string progName;
  18. std::list<std::string> params;
  19. bool ignoreUnicode;
  20. };