Unified usage of fmt::memory_buffer across the codebase

This commit is contained in:
gabime
2019-08-28 18:46:09 +03:00
parent c2efd6ee58
commit f5492aed12
29 changed files with 123 additions and 126 deletions

View File

@@ -66,7 +66,7 @@ SPDLOG_INLINE void file_helper::close()
}
}
SPDLOG_INLINE void file_helper::write(const fmt::memory_buffer &buf)
SPDLOG_INLINE void file_helper::write(const memory_buf_t &buf)
{
size_t msg_size = buf.size();
auto data = buf.data();

View File

@@ -26,7 +26,7 @@ public:
void reopen(bool truncate);
void flush();
void close();
void write(const fmt::memory_buffer &buf);
void write(const memory_buf_t &buf);
size_t size() const;
const filename_t &filename() const;
static bool file_exists(const filename_t &fname);

View File

@@ -12,21 +12,14 @@ namespace spdlog {
namespace details {
namespace fmt_helper {
template<size_t Buffer_Size>
inline spdlog::string_view_t to_string_view(const fmt::basic_memory_buffer<char, Buffer_Size> &buf) SPDLOG_NOEXCEPT
inline spdlog::string_view_t to_string_view(const memory_buf_t &buf) SPDLOG_NOEXCEPT
{
return spdlog::string_view_t(buf.data(), buf.size());
}
template<size_t Buffer_Size1, size_t Buffer_Size2>
inline void append_buf(const fmt::basic_memory_buffer<char, Buffer_Size1> &buf, fmt::basic_memory_buffer<char, Buffer_Size2> &dest)
{
auto *buf_ptr = buf.data();
dest.append(buf_ptr, buf_ptr + buf.size());
}
template<size_t Buffer_Size>
inline void append_string_view(spdlog::string_view_t view, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
inline void append_string_view(spdlog::string_view_t view, memory_buf_t &dest)
{
auto *buf_ptr = view.data();
if (buf_ptr != nullptr)
@@ -35,8 +28,8 @@ inline void append_string_view(spdlog::string_view_t view, fmt::basic_memory_buf
}
}
template<typename T, size_t Buffer_Size>
inline void append_int(T n, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
template<typename T>
inline void append_int(T n, memory_buf_t &dest)
{
fmt::format_int i(n);
dest.append(i.data(), i.data() + i.size());
@@ -49,8 +42,7 @@ inline unsigned count_digits(T n)
return static_cast<unsigned>(fmt::internal::count_digits(static_cast<count_type>(n)));
}
template<size_t Buffer_Size>
inline void pad2(int n, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
inline void pad2(int n, memory_buf_t &dest)
{
if (n > 99)
{
@@ -72,8 +64,8 @@ inline void pad2(int n, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
}
}
template<typename T, size_t Buffer_Size>
inline void pad_uint(T n, unsigned int width, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
template<typename T>
inline void pad_uint(T n, unsigned int width, memory_buf_t &dest)
{
static_assert(std::is_unsigned<T>::value, "pad_uint must get unsigned T");
auto digits = count_digits(n);
@@ -85,20 +77,20 @@ inline void pad_uint(T n, unsigned int width, fmt::basic_memory_buffer<char, Buf
append_int(n, dest);
}
template<typename T, size_t Buffer_Size>
inline void pad3(T n, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
template<typename T>
inline void pad3(T n, memory_buf_t &dest)
{
pad_uint(n, 3, dest);
}
template<typename T, size_t Buffer_Size>
inline void pad6(T n, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
template<typename T>
inline void pad6(T n, memory_buf_t &dest)
{
pad_uint(n, 6, dest);
}
template<typename T, size_t Buffer_Size>
inline void pad9(T n, fmt::basic_memory_buffer<char, Buffer_Size> &dest)
template<typename T>
inline void pad9(T n, memory_buf_t &dest)
{
pad_uint(n, 9, dest);
}

View File

@@ -14,7 +14,7 @@ namespace details {
class log_msg_buffer : public log_msg
{
fmt::basic_memory_buffer<char, 250> buffer;
memory_buf_t buffer;
void update_string_views()
{
logger_name = string_view_t{buffer.data(), logger_name.size()};

View File

@@ -350,7 +350,7 @@ SPDLOG_INLINE void sleep_for_millis(int milliseconds) SPDLOG_NOEXCEPT
#if defined(_WIN32) && defined(SPDLOG_WCHAR_FILENAMES)
SPDLOG_INLINE std::string filename_to_str(const filename_t &filename)
{
fmt::memory_buffer buf;
memory_buf_t buf;
wstr_to_utf8buf(filename, buf);
return fmt::to_string(buf);
}
@@ -406,7 +406,7 @@ SPDLOG_INLINE bool in_terminal(FILE *file) SPDLOG_NOEXCEPT
}
#if (defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT) || defined(SPDLOG_WCHAR_FILENAMES)) && defined(_WIN32)
SPDLOG_INLINE void wstr_to_utf8buf(basic_string_view_t<wchar_t> wstr, fmt::memory_buffer &target)
SPDLOG_INLINE void wstr_to_utf8buf(basic_string_view_t<wchar_t> wstr, memory_buf_t &target)
{
if (wstr.size() > static_cast<size_t>(std::numeric_limits<int>::max()))
{

View File

@@ -81,7 +81,7 @@ bool is_color_terminal() SPDLOG_NOEXCEPT;
bool in_terminal(FILE *file) SPDLOG_NOEXCEPT;
#if (defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT) || defined(SPDLOG_WCHAR_FILENAMES)) && defined(_WIN32)
void wstr_to_utf8buf(basic_string_view_t<wchar_t> wstr, fmt::memory_buffer &target);
void wstr_to_utf8buf(basic_string_view_t<wchar_t> wstr, memory_buf_t &target);
#endif
} // namespace os

View File

@@ -35,7 +35,7 @@ namespace details {
class scoped_padder
{
public:
scoped_padder(size_t wrapped_size, const padding_info &padinfo, fmt::memory_buffer &dest)
scoped_padder(size_t wrapped_size, const padding_info &padinfo, memory_buf_t &dest)
: padinfo_(padinfo)
, dest_(dest)
{
@@ -78,14 +78,14 @@ private:
}
const padding_info &padinfo_;
fmt::memory_buffer &dest_;
memory_buf_t &dest_;
size_t total_pad_;
string_view_t spaces_{" ", 64};
};
struct null_scoped_padder
{
null_scoped_padder(size_t /*wrapped_size*/, const padding_info & /*padinfo*/, fmt::memory_buffer & /*dest*/) {}
null_scoped_padder(size_t /*wrapped_size*/, const padding_info & /*padinfo*/, memory_buf_t & /*dest*/) {}
};
template<typename ScopedPadder>
@@ -96,7 +96,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
ScopedPadder p(msg.logger_name.size(), padinfo_, dest);
fmt_helper::append_string_view(msg.logger_name, dest);
@@ -112,7 +112,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
string_view_t &level_name = level::to_string_view(msg.level);
ScopedPadder p(level_name.size(), padinfo_, dest);
@@ -129,7 +129,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
string_view_t level_name{level::to_short_c_str(msg.level)};
ScopedPadder p(level_name.size(), padinfo_, dest);
@@ -162,7 +162,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
string_view_t field_value{days[static_cast<size_t>(tm_time.tm_wday)]};
ScopedPadder p(field_value.size(), padinfo_, dest);
@@ -181,7 +181,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
string_view_t field_value{full_days[static_cast<size_t>(tm_time.tm_wday)]};
ScopedPadder p(field_value.size(), padinfo_, dest);
@@ -200,7 +200,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
string_view_t field_value{months[static_cast<size_t>(tm_time.tm_mon)]};
ScopedPadder p(field_value.size(), padinfo_, dest);
@@ -220,7 +220,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
string_view_t field_value{full_months[static_cast<size_t>(tm_time.tm_mon)]};
ScopedPadder p(field_value.size(), padinfo_, dest);
@@ -237,7 +237,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 24;
ScopedPadder p(field_size, padinfo_, dest);
@@ -269,7 +269,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -286,7 +286,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 10;
ScopedPadder p(field_size, padinfo_, dest);
@@ -308,7 +308,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 4;
ScopedPadder p(field_size, padinfo_, dest);
@@ -325,7 +325,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -342,7 +342,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -359,7 +359,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -376,7 +376,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -393,7 +393,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -410,7 +410,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -427,7 +427,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
auto millis = fmt_helper::time_fraction<std::chrono::milliseconds>(msg.time);
const size_t field_size = 3;
@@ -445,7 +445,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
auto micros = fmt_helper::time_fraction<std::chrono::microseconds>(msg.time);
@@ -464,7 +464,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
auto ns = fmt_helper::time_fraction<std::chrono::nanoseconds>(msg.time);
const size_t field_size = 9;
@@ -482,7 +482,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
const size_t field_size = 10;
ScopedPadder p(field_size, padinfo_, dest);
@@ -501,7 +501,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 2;
ScopedPadder p(field_size, padinfo_, dest);
@@ -518,7 +518,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 11;
ScopedPadder p(field_size, padinfo_, dest);
@@ -542,7 +542,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 5;
ScopedPadder p(field_size, padinfo_, dest);
@@ -562,7 +562,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 8;
ScopedPadder p(field_size, padinfo_, dest);
@@ -588,7 +588,7 @@ public:
z_formatter(const z_formatter &) = delete;
z_formatter &operator=(const z_formatter &) = delete;
void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &tm_time, memory_buf_t &dest) override
{
const size_t field_size = 6;
ScopedPadder p(field_size, padinfo_, dest);
@@ -644,7 +644,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
const auto field_size = fmt_helper::count_digits(msg.thread_id);
ScopedPadder p(field_size, padinfo_, dest);
@@ -661,7 +661,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override
{
const auto pid = static_cast<uint32_t>(details::os::pid());
auto field_size = fmt_helper::count_digits(pid);
@@ -678,7 +678,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
ScopedPadder p(msg.payload.size(), padinfo_, dest);
fmt_helper::append_string_view(msg.payload, dest);
@@ -692,7 +692,7 @@ public:
: ch_(ch)
{}
void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override
{
dest.push_back(ch_);
}
@@ -711,7 +711,7 @@ public:
{
str_ += ch;
}
void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override
{
fmt_helper::append_string_view(str_, dest);
}
@@ -728,7 +728,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
msg.color_range_start = dest.size();
}
@@ -741,7 +741,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
msg.color_range_end = dest.size();
}
@@ -756,7 +756,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
if (msg.source.empty())
{
@@ -782,7 +782,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
if (msg.source.empty())
{
@@ -808,7 +808,7 @@ public:
return rv != nullptr ? rv + 1 : filename;
}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
if (msg.source.empty())
{
@@ -829,7 +829,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
if (msg.source.empty())
{
@@ -851,7 +851,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
if (msg.source.empty())
{
@@ -876,7 +876,7 @@ public:
, last_message_time_(log_clock::now())
{}
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
{
auto delta = msg.time - last_message_time_;
auto delta_units = std::chrono::duration_cast<DurationUnits>(delta);
@@ -898,7 +898,7 @@ public:
: flag_formatter(padinfo)
{}
void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) override
void format(const details::log_msg &msg, const std::tm &tm_time, memory_buf_t &dest) override
{
using std::chrono::duration_cast;
using std::chrono::milliseconds;
@@ -934,7 +934,7 @@ public:
cache_timestamp_ = secs;
}
fmt_helper::append_buf(cached_datetime_, dest);
dest.append(cached_datetime_.data(), cached_datetime_.data()+cached_datetime_.size());
auto millis = fmt_helper::time_fraction<milliseconds>(msg.time);
fmt_helper::pad3(static_cast<uint32_t>(millis.count()), dest);
@@ -981,7 +981,7 @@ public:
private:
std::chrono::seconds cache_timestamp_{0};
fmt::basic_memory_buffer<char, 128> cached_datetime_;
memory_buf_t cached_datetime_;
};
} // namespace details
@@ -1012,7 +1012,7 @@ SPDLOG_INLINE std::unique_ptr<formatter> pattern_formatter::clone() const
return details::make_unique<pattern_formatter>(pattern_, pattern_time_type_, eol_);
}
SPDLOG_INLINE void pattern_formatter::format(const details::log_msg &msg, fmt::memory_buffer &dest)
SPDLOG_INLINE void pattern_formatter::format(const details::log_msg &msg, memory_buf_t &dest)
{
#ifndef SPDLOG_NO_DATETIME
auto secs = std::chrono::duration_cast<std::chrono::seconds>(msg.time.time_since_epoch());

View File

@@ -50,7 +50,7 @@ public:
{}
flag_formatter() = default;
virtual ~flag_formatter() = default;
virtual void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) = 0;
virtual void format(const details::log_msg &msg, const std::tm &tm_time, memory_buf_t &dest) = 0;
protected:
padding_info padinfo_;
@@ -71,7 +71,7 @@ public:
pattern_formatter &operator=(const pattern_formatter &other) = delete;
std::unique_ptr<formatter> clone() const override;
void format(const details::log_msg &msg, fmt::memory_buffer &dest) override;
void format(const details::log_msg &msg, memory_buf_t &dest) override;
private:
std::string pattern_;