Move to_string_view to common.h

pull/2544/head
Charles Milette 3 years ago
parent da3d81a800
commit 90dc3f1ef0

@ -336,6 +336,44 @@ struct file_event_handlers
namespace details {
// to_string_view
SPDLOG_CONSTEXPR_FUNC spdlog::string_view_t to_string_view(const memory_buf_t &buf) SPDLOG_NOEXCEPT
{
return spdlog::string_view_t{buf.data(), buf.size()};
}
SPDLOG_CONSTEXPR_FUNC spdlog::string_view_t to_string_view(spdlog::string_view_t str) SPDLOG_NOEXCEPT
{
return str;
}
#if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)
SPDLOG_CONSTEXPR_FUNC spdlog::wstring_view_t to_string_view(const wmemory_buf_t &buf) SPDLOG_NOEXCEPT
{
return spdlog::wstring_view_t{buf.data(), buf.size()};
}
SPDLOG_CONSTEXPR_FUNC spdlog::wstring_view_t to_string_view(spdlog::wstring_view_t str) SPDLOG_NOEXCEPT
{
return str;
}
#endif
#ifndef SPDLOG_USE_STD_FORMAT
template<typename T, typename... Args>
inline fmt::basic_string_view<T> to_string_view(fmt::basic_format_string<T, Args...> fmt)
{
return fmt;
}
#elif __cpp_lib_format >= 202207L
template<typename T, typename... Args>
SPDLOG_CONSTEXPR_FUNC std::basic_string_view<T> to_string_view(std::basic_format_string<T, Args...> fmt) SPDLOG_NOEXCEPT
{
return fmt.get();
}
#endif
// make_unique support for pre c++14
#if __cplusplus >= 201402L // C++14 and beyond

@ -11,10 +11,6 @@
#ifdef SPDLOG_USE_STD_FORMAT
# include <charconv>
# include <limits>
# include <version>
# if __cpp_lib_format >= 202207L
# include <format>
# endif
#endif
// Some fmt helpers to efficiently format and pad ints and strings
@ -22,37 +18,6 @@ namespace spdlog {
namespace details {
namespace fmt_helper {
inline spdlog::string_view_t to_string_view(const memory_buf_t &buf) SPDLOG_NOEXCEPT
{
return spdlog::string_view_t{buf.data(), buf.size()};
}
inline spdlog::string_view_t to_string_view(spdlog::string_view_t str) SPDLOG_NOEXCEPT
{
return str;
}
#if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)
inline spdlog::wstring_view_t to_string_view(spdlog::wstring_view_t str) SPDLOG_NOEXCEPT
{
return str;
}
#endif
#ifndef SPDLOG_USE_STD_FORMAT
template<typename T, typename... Args>
inline fmt::basic_string_view<T> to_string_view(fmt::basic_format_string<T, Args...> fmt)
{
return fmt;
}
#elif __cpp_lib_format >= 202207L
template<typename T, typename... Args>
SPDLOG_CONSTEXPR_FUNC std::basic_string_view<T> to_string_view(std::basic_format_string<T, Args...> fmt) SPDLOG_NOEXCEPT
{
return fmt.get();
}
#endif
inline void append_string_view(spdlog::string_view_t view, memory_buf_t &dest)
{
auto *buf_ptr = view.data();

@ -17,7 +17,6 @@
#include <spdlog/common.h>
#include <spdlog/details/log_msg.h>
#include <spdlog/details/backtracer.h>
#include <spdlog/details/fmt_helper.h>
#ifdef SPDLOG_WCHAR_TO_UTF8_SUPPORT
# ifndef _WIN32
@ -88,7 +87,7 @@ public:
template<typename... Args>
void log(source_loc loc, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
{
log_(loc, lvl, details::fmt_helper::to_string_view(fmt), std::forward<Args>(args)...);
log_(loc, lvl, details::to_string_view(fmt), std::forward<Args>(args)...);
}
template<typename... Args>
@ -181,7 +180,7 @@ public:
template<typename... Args>
void log(source_loc loc, level::level_enum lvl, wformat_string_t<Args...> fmt, Args &&... args)
{
log_(loc, lvl, details::fmt_helper::to_string_view(fmt), std::forward<Args>(args)...);
log_(loc, lvl, details::to_string_view(fmt), std::forward<Args>(args)...);
}
template<typename... Args>
@ -374,6 +373,7 @@ protected:
#else
fmt::vformat_to(fmt::appender(buf), fmt, fmt::make_format_args(std::forward<Args>(args)...));
#endif
details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size()));
log_it_(log_msg, log_enabled, traceback_enabled);
}

@ -2,7 +2,7 @@
#include "includes.h"
using spdlog::memory_buf_t;
using spdlog::details::fmt_helper::to_string_view;
using spdlog::details::to_string_view;
void test_pad2(int n, const char *expected)
{

@ -2,7 +2,7 @@
#include "test_sink.h"
using spdlog::memory_buf_t;
using spdlog::details::fmt_helper::to_string_view;
using spdlog::details::to_string_view;
// log to str and return it
template<typename... Args>

Loading…
Cancel
Save