diff --git a/include/spdlog/details/pattern_formatter_impl.h b/include/spdlog/details/pattern_formatter_impl.h index 30fa8f2f..0018b7fa 100644 --- a/include/spdlog/details/pattern_formatter_impl.h +++ b/include/spdlog/details/pattern_formatter_impl.h @@ -114,14 +114,16 @@ class B_formatter : public flag_formatter }; // write 2 ints separated by sep with padding of 2 -static fmt::MemoryWriter &pad_n_join(fmt::MemoryWriter &w, int v1, int v2, char sep) +template> +static fmt::BasicMemoryWriter &pad_n_join(fmt::BasicMemoryWriter &w, int v1, int v2, char sep) { w << fmt::pad(v1, 2, '0') << sep << fmt::pad(v2, 2, '0'); return w; } // write 3 ints separated by sep with padding of 2 -static fmt::MemoryWriter &pad_n_join(fmt::MemoryWriter &w, int v1, int v2, int v3, char sep) +template> +static fmt::BasicMemoryWriter &pad_n_join(fmt::BasicMemoryWriter &w, int v1, int v2, int v3, char sep) { w << fmt::pad(v1, 2, '0') << sep << fmt::pad(v2, 2, '0') << sep << fmt::pad(v3, 2, '0'); return w; @@ -418,7 +420,7 @@ public: } private: - std::string _str; + string _str; }; // Full info formatter @@ -472,17 +474,17 @@ class full_formatter SPDLOG_FINAL : public flag_formatter /////////////////////////////////////////////////////////////////////////////// // pattern_formatter inline impl /////////////////////////////////////////////////////////////////////////////// -inline spdlog::pattern_formatter::pattern_formatter(const std::string &pattern, pattern_time_type pattern_time, std::string eol) +inline spdlog::pattern_formatter::pattern_formatter(const string &pattern, pattern_time_type pattern_time, string eol) : _eol(std::move(eol)) , _pattern_time(pattern_time) { compile_pattern(pattern); } -inline void spdlog::pattern_formatter::compile_pattern(const std::string &pattern) +inline void spdlog::pattern_formatter::compile_pattern(const string &pattern) { auto end = pattern.end(); - std::unique_ptr user_chars; + unique_ptr user_chars; for (auto it = pattern.begin(); it != end; ++it) { if (*it == '%') @@ -504,7 +506,7 @@ inline void spdlog::pattern_formatter::compile_pattern(const std::string &patter { if (!user_chars) { - user_chars = std::unique_ptr(new details::aggregate_formatter()); + user_chars = unique_ptr(make_unique()); } user_chars->add_ch(*it); } @@ -520,134 +522,134 @@ inline void spdlog::pattern_formatter::handle_flag(char flag) { // logger name case 'n': - _formatters.emplace_back(new details::name_formatter()); + _formatters.emplace_back(make_unique()); break; case 'l': - _formatters.emplace_back(new details::level_formatter()); + _formatters.emplace_back(make_unique()); break; case 'L': - _formatters.emplace_back(new details::short_level_formatter()); + _formatters.emplace_back(make_unique()); break; case ('t'): - _formatters.emplace_back(new details::t_formatter()); + _formatters.emplace_back(make_unique()); break; case ('v'): - _formatters.emplace_back(new details::v_formatter()); + _formatters.emplace_back(make_unique()); break; case ('a'): - _formatters.emplace_back(new details::a_formatter()); + _formatters.emplace_back(make_unique()); break; case ('A'): - _formatters.emplace_back(new details::A_formatter()); + _formatters.emplace_back(make_unique()); break; case ('b'): case ('h'): - _formatters.emplace_back(new details::b_formatter()); + _formatters.emplace_back(make_unique()); break; case ('B'): - _formatters.emplace_back(new details::B_formatter()); + _formatters.emplace_back(make_unique()); break; case ('c'): - _formatters.emplace_back(new details::c_formatter()); + _formatters.emplace_back(make_unique()); break; case ('C'): - _formatters.emplace_back(new details::C_formatter()); + _formatters.emplace_back(make_unique()); break; case ('Y'): - _formatters.emplace_back(new details::Y_formatter()); + _formatters.emplace_back(make_unique()); break; case ('D'): case ('x'): - _formatters.emplace_back(new details::D_formatter()); + _formatters.emplace_back(make_unique()); break; case ('m'): - _formatters.emplace_back(new details::m_formatter()); + _formatters.emplace_back(make_unique()); break; case ('d'): - _formatters.emplace_back(new details::d_formatter()); + _formatters.emplace_back(make_unique()); break; case ('H'): - _formatters.emplace_back(new details::H_formatter()); + _formatters.emplace_back(make_unique()); break; case ('I'): - _formatters.emplace_back(new details::I_formatter()); + _formatters.emplace_back(make_unique()); break; case ('M'): - _formatters.emplace_back(new details::M_formatter()); + _formatters.emplace_back(make_unique()); break; case ('S'): - _formatters.emplace_back(new details::S_formatter()); + _formatters.emplace_back(make_unique()); break; case ('e'): - _formatters.emplace_back(new details::e_formatter()); + _formatters.emplace_back(make_unique()); break; case ('f'): - _formatters.emplace_back(new details::f_formatter()); + _formatters.emplace_back(make_unique()); break; case ('F'): - _formatters.emplace_back(new details::F_formatter()); + _formatters.emplace_back(make_unique()); break; case ('E'): - _formatters.emplace_back(new details::E_formatter()); + _formatters.emplace_back(make_unique()); break; case ('p'): - _formatters.emplace_back(new details::p_formatter()); + _formatters.emplace_back(make_unique()); break; case ('r'): - _formatters.emplace_back(new details::r_formatter()); + _formatters.emplace_back(make_unique()); break; case ('R'): - _formatters.emplace_back(new details::R_formatter()); + _formatters.emplace_back(make_unique()); break; case ('T'): case ('X'): - _formatters.emplace_back(new details::T_formatter()); + _formatters.emplace_back(make_unique()); break; case ('z'): - _formatters.emplace_back(new details::z_formatter()); + _formatters.emplace_back(make_unique()); break; case ('+'): - _formatters.emplace_back(new details::full_formatter()); + _formatters.emplace_back(make_unique()); break; case ('P'): - _formatters.emplace_back(new details::pid_formatter()); + _formatters.emplace_back(make_unique()); break; case ('i'): - _formatters.emplace_back(new details::i_formatter()); + _formatters.emplace_back(make_unique()); break; default: // Unknown flag appears as is - _formatters.emplace_back(new details::ch_formatter('%')); - _formatters.emplace_back(new details::ch_formatter(flag)); + _formatters.emplace_back(make_unique('%')); + _formatters.emplace_back(make_unique(flag)); break; } }