diff --git a/deps/nostalgia/deps/ox/src/ox/clargs/clargs.cpp b/deps/nostalgia/deps/ox/src/ox/clargs/clargs.cpp index cc61537..941d25f 100644 --- a/deps/nostalgia/deps/ox/src/ox/clargs/clargs.cpp +++ b/deps/nostalgia/deps/ox/src/ox/clargs/clargs.cpp @@ -11,18 +11,19 @@ namespace ox { -ClArgs::ClArgs(int argc, const char **args) noexcept { - auto const argv = ox::SpanView{args, static_cast(argc)}; - for (auto i = 0u; i < static_cast(argc); ++i) { - auto arg = StringView(argv[i]); +ClArgs::ClArgs(int argc, const char **args) noexcept: ClArgs({args, static_cast(argc)}) {} + +ClArgs::ClArgs(ox::SpanView args) noexcept { + for (auto i = 0u; i < args.size(); ++i) { + auto arg = StringView(args[i]); if (arg[0] == '-') { while (arg[0] == '-' && arg.len()) { arg = substr(arg, 1); } m_bools[arg] = true; // parse additional arguments - if (i < static_cast(argc) && argv[i + 1]) { - auto val = String(argv[i + 1]); + if (i < args.size() && args[i + 1]) { + auto val = String(args[i + 1]); if (val.len() && val[i] != '-') { if (val == "false") { m_bools[arg] = false; diff --git a/deps/nostalgia/deps/ox/src/ox/clargs/clargs.hpp b/deps/nostalgia/deps/ox/src/ox/clargs/clargs.hpp index 610d625..ee54b4a 100644 --- a/deps/nostalgia/deps/ox/src/ox/clargs/clargs.hpp +++ b/deps/nostalgia/deps/ox/src/ox/clargs/clargs.hpp @@ -9,6 +9,7 @@ #pragma once #include +#include #include namespace ox { @@ -22,6 +23,8 @@ class ClArgs { public: ClArgs(int argc, const char **args) noexcept; + ClArgs(ox::SpanView args) noexcept; + [[nodiscard]] bool getBool(ox::StringViewCR arg, bool defaultValue) const noexcept;