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
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 5 additions and 4 deletions

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) {

@ -1 +1 @@
Subproject commit 9a9252a54a67f54c066966f8f0599c450391bd44
Subproject commit 25ed8669943bee65a650700d340e451eda2a26ba