Replace emplace_back with push_back in pattern_formatter

This commit is contained in:
gabime 2018-08-13 09:09:49 +03:00
parent 0a585092dc
commit 8008d7fe53
4 changed files with 46 additions and 39 deletions

View File

@ -4,7 +4,7 @@
# #
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
project(spdlog VERSION 1.0.0 LANGUAGES CXX) project(spdlog VERSION 1.0.1 LANGUAGES CXX)
include(CTest) include(CTest)
include(CMakeDependentOption) include(CMakeDependentOption)
include(GNUInstallDirs) include(GNUInstallDirs)

View File

@ -24,6 +24,10 @@
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
project(SpdlogBench CXX) project(SpdlogBench CXX)
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()
if(NOT TARGET spdlog) if(NOT TARGET spdlog)
# Stand-alone build # Stand-alone build
find_package(spdlog CONFIG REQUIRED) find_package(spdlog CONFIG REQUIRED)
@ -32,7 +36,7 @@ endif()
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
add_executable(bench bench.cpp) add_executable(bench bench.cpp)
target_link_libraries(bench spdlog::spdlog Threads::Threads) target_link_libraries(bench spdlog::spdlog Threads::Threads -flto)
add_executable(async_bench async_bench.cpp) add_executable(async_bench async_bench.cpp)
target_link_libraries(async_bench spdlog::spdlog Threads::Threads) target_link_libraries(async_bench spdlog::spdlog Threads::Threads)
@ -40,5 +44,7 @@ target_link_libraries(async_bench spdlog::spdlog Threads::Threads)
add_executable(latency latency.cpp) add_executable(latency latency.cpp)
target_link_libraries(latency spdlog::spdlog Threads::Threads) target_link_libraries(latency spdlog::spdlog Threads::Threads)
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")

View File

@ -545,7 +545,7 @@ public:
pattern_formatter(const pattern_formatter &other) = delete; pattern_formatter(const pattern_formatter &other) = delete;
pattern_formatter &operator=(const pattern_formatter &other) = delete; pattern_formatter &operator=(const pattern_formatter &other) = delete;
virtual std::unique_ptr<formatter> clone() const override std::unique_ptr<formatter> clone() const override
{ {
return std::unique_ptr<formatter>(new pattern_formatter(pattern_, pattern_time_type_, eol_)); return std::unique_ptr<formatter>(new pattern_formatter(pattern_, pattern_time_type_, eol_));
} }
@ -588,145 +588,146 @@ private:
void handle_flag_(char flag) void handle_flag_(char flag)
{ {
using flag_formatter_ptr = std::unique_ptr<details::flag_formatter>;
switch (flag) switch (flag)
{ {
// logger name // logger name
case 'n': case 'n':
formatters_.emplace_back(new details::name_formatter()); formatters_.push_back(flag_formatter_ptr(new details::name_formatter()));
break; break;
case 'l': case 'l':
formatters_.emplace_back(new details::level_formatter()); formatters_.push_back(flag_formatter_ptr(new details::level_formatter()));
break; break;
case 'L': case 'L':
formatters_.emplace_back(new details::short_level_formatter()); formatters_.push_back(flag_formatter_ptr(new details::short_level_formatter()));
break; break;
case ('t'): case ('t'):
formatters_.emplace_back(new details::t_formatter()); formatters_.push_back(flag_formatter_ptr(new details::t_formatter()));
break; break;
case ('v'): case ('v'):
formatters_.emplace_back(new details::v_formatter()); formatters_.push_back(flag_formatter_ptr(new details::v_formatter()));
break; break;
case ('a'): case ('a'):
formatters_.emplace_back(new details::a_formatter()); formatters_.push_back(flag_formatter_ptr(new details::a_formatter()));
break; break;
case ('A'): case ('A'):
formatters_.emplace_back(new details::A_formatter()); formatters_.push_back(flag_formatter_ptr(new details::A_formatter()));
break; break;
case ('b'): case ('b'):
case ('h'): case ('h'):
formatters_.emplace_back(new details::b_formatter()); formatters_.push_back(flag_formatter_ptr(new details::b_formatter()));
break; break;
case ('B'): case ('B'):
formatters_.emplace_back(new details::B_formatter()); formatters_.push_back(flag_formatter_ptr(new details::B_formatter()));
break; break;
case ('c'): case ('c'):
formatters_.emplace_back(new details::c_formatter()); formatters_.push_back(flag_formatter_ptr(new details::c_formatter()));
break; break;
case ('C'): case ('C'):
formatters_.emplace_back(new details::C_formatter()); formatters_.push_back(flag_formatter_ptr(new details::C_formatter()));
break; break;
case ('Y'): case ('Y'):
formatters_.emplace_back(new details::Y_formatter()); formatters_.push_back(flag_formatter_ptr(new details::Y_formatter()));
break; break;
case ('D'): case ('D'):
case ('x'): case ('x'):
formatters_.emplace_back(new details::D_formatter()); formatters_.push_back(flag_formatter_ptr(new details::D_formatter()));
break; break;
case ('m'): case ('m'):
formatters_.emplace_back(new details::m_formatter()); formatters_.push_back(flag_formatter_ptr(new details::m_formatter()));
break; break;
case ('d'): case ('d'):
formatters_.emplace_back(new details::d_formatter()); formatters_.push_back(flag_formatter_ptr(new details::d_formatter()));
break; break;
case ('H'): case ('H'):
formatters_.emplace_back(new details::H_formatter()); formatters_.push_back(flag_formatter_ptr(new details::H_formatter()));
break; break;
case ('I'): case ('I'):
formatters_.emplace_back(new details::I_formatter()); formatters_.push_back(flag_formatter_ptr(new details::I_formatter()));
break; break;
case ('M'): case ('M'):
formatters_.emplace_back(new details::M_formatter()); formatters_.push_back(flag_formatter_ptr(new details::M_formatter()));
break; break;
case ('S'): case ('S'):
formatters_.emplace_back(new details::S_formatter()); formatters_.push_back(flag_formatter_ptr(new details::S_formatter()));
break; break;
case ('e'): case ('e'):
formatters_.emplace_back(new details::e_formatter()); formatters_.push_back(flag_formatter_ptr(new details::e_formatter()));
break; break;
case ('f'): case ('f'):
formatters_.emplace_back(new details::f_formatter()); formatters_.push_back(flag_formatter_ptr(new details::f_formatter()));
break; break;
case ('F'): case ('F'):
formatters_.emplace_back(new details::F_formatter()); formatters_.push_back(flag_formatter_ptr(new details::F_formatter()));
break; break;
case ('E'): case ('E'):
formatters_.emplace_back(new details::E_formatter()); formatters_.push_back(flag_formatter_ptr(new details::E_formatter()));
break; break;
case ('p'): case ('p'):
formatters_.emplace_back(new details::p_formatter()); formatters_.push_back(flag_formatter_ptr(new details::p_formatter()));
break; break;
case ('r'): case ('r'):
formatters_.emplace_back(new details::r_formatter()); formatters_.push_back(flag_formatter_ptr(new details::r_formatter()));
break; break;
case ('R'): case ('R'):
formatters_.emplace_back(new details::R_formatter()); formatters_.push_back(flag_formatter_ptr(new details::R_formatter()));
break; break;
case ('T'): case ('T'):
case ('X'): case ('X'):
formatters_.emplace_back(new details::T_formatter()); formatters_.push_back(flag_formatter_ptr(new details::T_formatter()));
break; break;
case ('z'): case ('z'):
formatters_.emplace_back(new details::z_formatter()); formatters_.push_back(flag_formatter_ptr(new details::z_formatter()));
break; break;
case ('+'): case ('+'):
formatters_.emplace_back(new details::full_formatter()); formatters_.push_back(flag_formatter_ptr(new details::full_formatter()));
break; break;
case ('P'): case ('P'):
formatters_.emplace_back(new details::pid_formatter()); formatters_.push_back(flag_formatter_ptr(new details::pid_formatter()));
break; break;
case ('i'): case ('i'):
formatters_.emplace_back(new details::i_formatter()); formatters_.push_back(flag_formatter_ptr(new details::i_formatter()));
break; break;
case ('^'): case ('^'):
formatters_.emplace_back(new details::color_start_formatter()); formatters_.push_back(flag_formatter_ptr(new details::color_start_formatter()));
break; break;
case ('$'): case ('$'):
formatters_.emplace_back(new details::color_stop_formatter()); formatters_.push_back(flag_formatter_ptr(new details::color_stop_formatter()));
break; break;
default: // Unknown flag appears as is default: // Unknown flag appears as is
formatters_.emplace_back(new details::ch_formatter('%')); formatters_.push_back(flag_formatter_ptr(new details::ch_formatter('%')));
formatters_.emplace_back(new details::ch_formatter(flag)); formatters_.push_back(flag_formatter_ptr(new details::ch_formatter(flag)));
break; break;
} }
} }

View File

@ -7,6 +7,6 @@
#define SPDLOG_VER_MAJOR 1 #define SPDLOG_VER_MAJOR 1
#define SPDLOG_VER_MINOR 0 #define SPDLOG_VER_MINOR 0
#define SPDLOG_VER_PATCH 0 #define SPDLOG_VER_PATCH 1
#define SPDLOG_VERSION (SPDLOG_VER_MAJOR * 10000 + SPDLOG_VER_MINOR * 100 + SPDLOG_VER_PATCH) #define SPDLOG_VERSION (SPDLOG_VER_MAJOR * 10000 + SPDLOG_VER_MINOR * 100 + SPDLOG_VER_PATCH)