Enable flags= parsing

PiperOrigin-RevId: 843103750
This commit is contained in:
Martin Stolle 2025-12-11 01:17:34 -08:00 committed by Copybara-Service
parent 78deacc357
commit bfc0dfcfca
1 changed files with 8 additions and 0 deletions

View File

@ -99,6 +99,7 @@ class ArgsBase {
void operator()(T& t, const char* name, const T& /*init*/,
const char* /*help*/, int /*print_verbosity*/ = 0) const {
const std::string prefixed = std::string("--") + name;
const std::string prefixed_eq = prefixed + "=";
for (int i = 1; i < argc_; ++i) {
if (std::string(argv_[i]) == prefixed) {
if (i + 1 >= argc_) {
@ -109,6 +110,13 @@ class ArgsBase {
}
return;
}
if (std::string(argv_[i]).find(prefixed_eq) == 0) {
const char* value = argv_[i] + prefixed_eq.length();
if (!SetValue(value, t)) {
HWY_ABORT("Invalid value for %s, got %s\n", name, value);
}
return;
}
}
}