From 5c66f3e0dc93107c259bf41489cc3d5318db9010 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Tue, 11 May 2021 00:48:11 -0500 Subject: [PATCH] [ox/std] Make toCString(std::string) inline in non-C++20 code --- deps/ox/src/ox/std/fmt.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/deps/ox/src/ox/std/fmt.hpp b/deps/ox/src/ox/std/fmt.hpp index 6f2771af..544c1f47 100644 --- a/deps/ox/src/ox/std/fmt.hpp +++ b/deps/ox/src/ox/std/fmt.hpp @@ -26,16 +26,16 @@ namespace ox { namespace detail { -constexpr const char *stringify(const char *s) noexcept { +constexpr const char *toCString(const char *s) noexcept { return s; } template -constexpr const char *stringify(const BString &s) noexcept { +constexpr const char *toCString(const BString &s) noexcept { return s.c_str(); } -constexpr const char *stringify(const String &s) noexcept { +constexpr const char *toCString(const String &s) noexcept { return s.c_str(); } @@ -45,13 +45,13 @@ constexpr #else inline #endif -const char *stringify(const std::string &s) noexcept { +const char *toCString(const std::string &s) noexcept { return s.c_str(); } #endif #if __has_include() -inline const char *stringify(const QString &s) noexcept { +inline const char *toCString(const QString &s) noexcept { return s.toUtf8(); } #endif @@ -71,7 +71,7 @@ class FmtArg { } else if constexpr(is_integral_v) { out = ox_itoa(v, dataStr); } else { - out = stringify(v); + out = toCString(v); } } @@ -166,6 +166,7 @@ constexpr Fmt fmtSegments(const char *fmt) noexcept { } template +[[nodiscard]] StringType sfmt(const char *fmt, Args... args) noexcept { oxAssert(ox::detail::argCount(fmt) == sizeof...(args), "Argument count mismatch."); StringType out;