30 #include <initializer_list>
69 void get_original_arguments(
int* argc,
const char*** argv);
76 std::vector<std::string> get_set_options()
const;
85 bool is_option_set(
const std::string& flag)
const;
94 void set_option(
const std::string& flag,
const std::string& parameter);
102 void set_option(
const std::string& flag,
const std::vector<std::string>& parameters);
112 bool set_option(
const std::string& flag,
const std::set<std::string>& equivalent_flags,
const std::vector<std::string>& parameters);
122 std::string get_parameter(
const std::string& flag)
const;
132 std::vector<std::string> get_parameters(
const std::string& flag)
const;
138 std::map<std::set<std::string>, std::vector<std::string>> m_set_options;
139 std::vector<std::string> m_given_flags;
~ProgramArguments()=default