feat(Deps/Fmt): update fmt lib to 10.1.1 (#17643)

This commit is contained in:
Winfidonarleyan
2023-11-05 13:15:45 +07:00
committed by GitHub
parent fb83c22dd2
commit c5564e1363
25 changed files with 7426 additions and 5732 deletions

View File

@@ -68,13 +68,13 @@ public:
bool SetLogLevel(std::string const& name, int32 level, bool isLogger = true);
template<typename... Args>
inline void outMessage(std::string const& filter, LogLevel const level, std::string_view fmt, Args&&... args)
inline void outMessage(std::string const& filter, LogLevel const level, Acore::FormatString<Args...> fmt, Args&&... args)
{
_outMessage(filter, level, Acore::StringFormatFmt(fmt, std::forward<Args>(args)...));
}
template<typename... Args>
void outCommand(uint32 account, std::string_view fmt, Args&&... args)
void outCommand(uint32 account, Acore::FormatString<Args...> fmt, Args&&... args)
{
if (!ShouldLog("commands.gm", LOG_LEVEL_INFO))
{
@@ -176,4 +176,4 @@ private:
#define LOG_GM(accountId__, ...) \
sLog->outCommand(accountId__, __VA_ARGS__)
#endif // _LOG_H__
#endif // _LOG_H__

View File

@@ -39,17 +39,20 @@ namespace Acore
}
}
template<typename... Args>
using FormatString = fmt::format_string<Args...>;
// Default string format function.
template<typename... Args>
inline std::string StringFormatFmt(std::string_view fmt, Args&&... args)
inline std::string StringFormatFmt(FormatString<Args...> fmt, Args&&... args)
{
try
{
return fmt::format(fmt, std::forward<Args>(args)...);
}
catch (const fmt::format_error& formatError)
catch (std::exception const& e)
{
return fmt::format("An error occurred formatting string \"{}\": {}", fmt, formatError.what());
return fmt::format("Wrong format occurred ({}). Fmt string: '{}'", e.what(), fmt.get());
}
}
@@ -76,4 +79,9 @@ namespace Acore::String
AC_COMMON_API std::string AddSuffixIfNotExists(std::string str, const char suffix);
}
#endif
// Add support enum for fmt
//template <typename T, std::enable_if_t<std::is_enum_v<T>, int> = 0>
template <typename T, FMT_ENABLE_IF(std::is_enum_v<T>)>
auto format_as(T f) { return fmt::underlying(f); }
#endif