ksys/util: Fix C++17 compliance in FixedString

Lambda expressions cannot appear in a template argument pre-C++20.
This commit is contained in:
Léo Lam
2021-11-01 14:56:23 +01:00
parent d10dd65dcd
commit b63c16c55f
2 changed files with 5 additions and 4 deletions
+4 -3
View File
@@ -56,13 +56,14 @@ template <auto N, int base = 10>
constexpr auto Str() {
constexpr char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
FixedString<([]() constexpr noexcept {
constexpr auto len = [] {
unsigned int len = N > 0 ? 0 : 1;
for (auto n = N; n; len++, n /= base)
continue;
return len;
}())>
buf{};
}();
FixedString<len> buf{};
auto ptr = buf.data() + buf.length();
if (N == 0) {