Update pattern_formatter_impl.h

pull/690/head
Bousk 8 years ago committed by GitHub
parent c40db6fc2e
commit f2d2554560
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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

Loading…
Cancel
Save