From 8008d7fe534a899f82cf8b64475c35cc2061911c Mon Sep 17 00:00:00 2001 From: gabime Date: Mon, 13 Aug 2018 09:09:49 +0300 Subject: [PATCH] Replace emplace_back with push_back in pattern_formatter --- CMakeLists.txt | 2 +- bench/CMakeLists.txt | 8 ++- include/spdlog/details/pattern_formatter.h | 73 +++++++++++----------- include/spdlog/version.h | 2 +- 4 files changed, 46 insertions(+), 39 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5166d39f..b9319d17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ # 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(CMakeDependentOption) include(GNUInstallDirs) diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt index 9f596d27..0eb25eb2 100644 --- a/bench/CMakeLists.txt +++ b/bench/CMakeLists.txt @@ -24,6 +24,10 @@ cmake_minimum_required(VERSION 3.1) 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) # Stand-alone build find_package(spdlog CONFIG REQUIRED) @@ -32,7 +36,7 @@ endif() find_package(Threads REQUIRED) 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) 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) target_link_libraries(latency spdlog::spdlog Threads::Threads) + + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") diff --git a/include/spdlog/details/pattern_formatter.h b/include/spdlog/details/pattern_formatter.h index 765f9305..855ea0d8 100644 --- a/include/spdlog/details/pattern_formatter.h +++ b/include/spdlog/details/pattern_formatter.h @@ -545,7 +545,7 @@ public: pattern_formatter(const pattern_formatter &other) = delete; pattern_formatter &operator=(const pattern_formatter &other) = delete; - virtual std::unique_ptr clone() const override + std::unique_ptr clone() const override { return std::unique_ptr(new pattern_formatter(pattern_, pattern_time_type_, eol_)); } @@ -588,145 +588,146 @@ private: void handle_flag_(char flag) { + using flag_formatter_ptr = std::unique_ptr; switch (flag) { // logger name case 'n': - formatters_.emplace_back(new details::name_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::name_formatter())); break; case 'l': - formatters_.emplace_back(new details::level_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::level_formatter())); break; case 'L': - formatters_.emplace_back(new details::short_level_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::short_level_formatter())); break; case ('t'): - formatters_.emplace_back(new details::t_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::t_formatter())); break; case ('v'): - formatters_.emplace_back(new details::v_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::v_formatter())); break; case ('a'): - formatters_.emplace_back(new details::a_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::a_formatter())); break; case ('A'): - formatters_.emplace_back(new details::A_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::A_formatter())); break; case ('b'): case ('h'): - formatters_.emplace_back(new details::b_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::b_formatter())); break; case ('B'): - formatters_.emplace_back(new details::B_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::B_formatter())); break; case ('c'): - formatters_.emplace_back(new details::c_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::c_formatter())); break; case ('C'): - formatters_.emplace_back(new details::C_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::C_formatter())); break; case ('Y'): - formatters_.emplace_back(new details::Y_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::Y_formatter())); break; case ('D'): case ('x'): - formatters_.emplace_back(new details::D_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::D_formatter())); break; case ('m'): - formatters_.emplace_back(new details::m_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::m_formatter())); break; case ('d'): - formatters_.emplace_back(new details::d_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::d_formatter())); break; case ('H'): - formatters_.emplace_back(new details::H_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::H_formatter())); break; case ('I'): - formatters_.emplace_back(new details::I_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::I_formatter())); break; case ('M'): - formatters_.emplace_back(new details::M_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::M_formatter())); break; case ('S'): - formatters_.emplace_back(new details::S_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::S_formatter())); break; case ('e'): - formatters_.emplace_back(new details::e_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::e_formatter())); break; case ('f'): - formatters_.emplace_back(new details::f_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::f_formatter())); break; case ('F'): - formatters_.emplace_back(new details::F_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::F_formatter())); break; case ('E'): - formatters_.emplace_back(new details::E_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::E_formatter())); break; case ('p'): - formatters_.emplace_back(new details::p_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::p_formatter())); break; case ('r'): - formatters_.emplace_back(new details::r_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::r_formatter())); break; case ('R'): - formatters_.emplace_back(new details::R_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::R_formatter())); break; case ('T'): case ('X'): - formatters_.emplace_back(new details::T_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::T_formatter())); break; case ('z'): - formatters_.emplace_back(new details::z_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::z_formatter())); break; case ('+'): - formatters_.emplace_back(new details::full_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::full_formatter())); break; case ('P'): - formatters_.emplace_back(new details::pid_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::pid_formatter())); break; case ('i'): - formatters_.emplace_back(new details::i_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::i_formatter())); break; case ('^'): - formatters_.emplace_back(new details::color_start_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::color_start_formatter())); break; case ('$'): - formatters_.emplace_back(new details::color_stop_formatter()); + formatters_.push_back(flag_formatter_ptr(new details::color_stop_formatter())); break; default: // Unknown flag appears as is - formatters_.emplace_back(new details::ch_formatter('%')); - formatters_.emplace_back(new details::ch_formatter(flag)); + formatters_.push_back(flag_formatter_ptr(new details::ch_formatter('%'))); + formatters_.push_back(flag_formatter_ptr(new details::ch_formatter(flag))); break; } } diff --git a/include/spdlog/version.h b/include/spdlog/version.h index 729fcba0..87d0b3e8 100644 --- a/include/spdlog/version.h +++ b/include/spdlog/version.h @@ -7,6 +7,6 @@ #define SPDLOG_VER_MAJOR 1 #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)