diff --git a/include/dwarfs/conv.h b/include/dwarfs/conv.h index 43f428c6..df0501ba 100644 --- a/include/dwarfs/conv.h +++ b/include/dwarfs/conv.h @@ -38,7 +38,7 @@ std::optional str_to_bool(std::string_view s); } // namespace detail template -std::optional tryTo(U&& s) +std::optional try_to(U&& s) requires(!std::same_as && !std::convertible_to) { #if defined(__GNUC__) && !defined(__clang__) @@ -55,21 +55,21 @@ std::optional tryTo(U&& s) } template -std::optional tryTo(U&& s) +std::optional try_to(U&& s) requires(std::same_as && std::is_arithmetic_v) { return s != U{}; } template -std::optional tryTo(std::string_view s) +std::optional try_to(std::string_view s) requires std::same_as { return detail::str_to_bool(s); } template -std::optional tryTo(U&& s) +std::optional try_to(U&& s) requires(std::convertible_to) { return std::forward(s); @@ -80,7 +80,7 @@ T to(U&& s) { if constexpr (std::same_as>) { return std::forward(s); } else { - return tryTo(std::forward(s)).value(); + return try_to(std::forward(s)).value(); } } diff --git a/src/util.cpp b/src/util.cpp index 566e988b..609d8043 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -267,7 +267,7 @@ std::filesystem::path canonical_path(std::filesystem::path p) { bool getenv_is_enabled(char const* var) { if (auto val = std::getenv(var)) { - if (auto maybeBool = tryTo(val); maybeBool && *maybeBool) { + if (auto maybeBool = try_to(val); maybeBool && *maybeBool) { return true; } } diff --git a/tools/src/dwarfsck_main.cpp b/tools/src/dwarfsck_main.cpp index 5650702f..2082c371 100644 --- a/tools/src/dwarfsck_main.cpp +++ b/tools/src/dwarfsck_main.cpp @@ -337,7 +337,7 @@ int dwarfsck_main(int argc, sys_char** argv, iolayer const& iol) { ? reader::block_access_level::no_verify : reader::block_access_level::unrestricted; - auto numeric_detail = tryTo(detail); + auto numeric_detail = try_to(detail); opts.features = numeric_detail.has_value() ? reader::fsinfo_features::for_level(*numeric_detail) diff --git a/tools/src/mkdwarfs_main.cpp b/tools/src/mkdwarfs_main.cpp index 060c9922..0a88f09e 100644 --- a/tools/src/mkdwarfs_main.cpp +++ b/tools/src/mkdwarfs_main.cpp @@ -982,7 +982,7 @@ int mkdwarfs_main(int argc, sys_char** argv, iolayer const& iol) { if (vm.count("set-time")) { if (timestamp == "now") { options.timestamp = std::time(nullptr); - } else if (auto val = tryTo(timestamp)) { + } else if (auto val = try_to(timestamp)) { options.timestamp = *val; } else { try { @@ -1000,7 +1000,7 @@ int mkdwarfs_main(int argc, sys_char** argv, iolayer const& iol) { if (auto it = time_resolutions.find(time_resolution); it != time_resolutions.end()) { options.time_resolution_sec = it->second; - } else if (auto val = tryTo(time_resolution)) { + } else if (auto val = try_to(time_resolution)) { options.time_resolution_sec = *val; if (options.time_resolution_sec == 0) { iol.err << "error: the argument to '--time-resolution' must be nonzero\n";