21 std::vector<std::string> leftover;
22 leftover.reserve(tokens->size());
24 for (
size_t i = 0; i < tokens->size(); i++) {
25 const std::string& token = (*tokens)[i];
26 if (token.rfind(
"--", 0) == 0) {
28 std::string flag_name;
29 std::string value_string;
32 if ((i + 1) < tokens->size()) {
33 const std::string& next_token = (*tokens)[i + 1];
35 if (next_token.rfind(
"--", 0) != 0) {
36 value_string = next_token;
40 value_string =
"true";
43 value_string =
"true";
56 }
else if (token.rfind(
"-", 0) == 0) {
57 if (token ==
"-v" || token ==
"-version") {
58 std::cout <<
"Version: " << YAZE_VERSION_MAJOR <<
"."
59 << YAZE_VERSION_MINOR <<
"." << YAZE_VERSION_PATCH <<
"\n";
64 if (token ==
"-h" || token ==
"-help") {
65 std::cout <<
"Available flags:\n";
66 for (
const auto& flag :
68 std::cout << flag->name() <<
": " << flag->help() <<
"\n";
73 std::string flag_name;
79 leftover.push_back(token);