diff --git a/include/Arg.hpp b/include/Arg.hpp index 4809ff1..2ea3f92 100644 --- a/include/Arg.hpp +++ b/include/Arg.hpp @@ -107,7 +107,7 @@ class Arg { // auto_env_name_ // [[nodiscard]] inline const std::string get__auto_env_name() const { // std::string env_name = PROGRAM_NAME() + '_' + this->get__name(); - // std::transform(env_name.begin(), env_name.end(), env_name.begin(), [](const unsigned char& c) { return std::toupper(c); }); + // to_upper(env_name); // return env_name; // } diff --git a/include/utils.hpp b/include/utils.hpp index cfd0dec..387a618 100644 --- a/include/utils.hpp +++ b/include/utils.hpp @@ -1,9 +1,10 @@ #pragma once +#include #include +#include #include #include -#include template inline T ok_or(std::optional opt, E&& err) { @@ -44,3 +45,7 @@ inline void print_indent(std::ostream& os, int indent_level) { for (int i = 0; i < indent_level; ++i) os << '\t'; } + +inline void to_upper(std::string &s) { + std::ranges::transform(s, s.begin(), [](const unsigned char& c) { return std::toupper(c); }); +} diff --git a/src/Parser.cpp b/src/Parser.cpp index dcdfc44..31c44e0 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -63,7 +63,7 @@ void ClapParser::check_env() { for (auto& arg : args_) { if (arg.get__auto_env()) { std::string env_name = this->program_name_ + '_' + arg.get__name(); - std::transform(env_name.begin(), env_name.end(), env_name.begin(), [](const unsigned char& c) { return std::toupper(c); }); + to_upper(env_name); auto value_from_env = std::getenv(env_name.c_str()); if (value_from_env) { arg.set__value(value_from_env);