diff --git a/include/spdlog/common-inl.h b/include/spdlog/common-inl.h index 3a6f2edd..40e746f2 100644 --- a/include/spdlog/common-inl.h +++ b/include/spdlog/common-inl.h @@ -1,4 +1,23 @@ // Copyright(c) 2015-present Gabi Melman & spdlog contributors. // Distributed under the MIT License (http://opensource.org/licenses/MIT) -#pragma once \ No newline at end of file +#pragma once + + +SPDLOG_INLINE spdlog::spdlog_ex::spdlog_ex(std::string msg) +: msg_(std::move(msg)) +{ +} + +SPDLOG_INLINE spdlog::spdlog_ex::spdlog_ex(const std::string &msg, int last_errno) +{ + fmt::memory_buffer outbuf; + fmt::format_system_error(outbuf, last_errno, msg); + msg_ = fmt::to_string(outbuf); +} + +SPDLOG_INLINE const char *spdlog::spdlog_ex::what() const SPDLOG_NOEXCEPT +{ + return msg_.c_str(); +} + diff --git a/include/spdlog/common.h b/include/spdlog/common.h index 0dd010a5..64eff8d1 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -191,22 +191,9 @@ enum class pattern_time_type class spdlog_ex : public std::exception { public: - explicit spdlog_ex(std::string msg) - : msg_(std::move(msg)) - { - } - - spdlog_ex(const std::string &msg, int last_errno) - { - fmt::memory_buffer outbuf; - fmt::format_system_error(outbuf, last_errno, msg); - msg_ = fmt::to_string(outbuf); - } - - const char *what() const SPDLOG_NOEXCEPT override - { - return msg_.c_str(); - } + explicit spdlog_ex(std::string msg); + spdlog_ex(const std::string &msg, int last_errno); + const char *what() const SPDLOG_NOEXCEPT override; private: std::string msg_; @@ -246,3 +233,7 @@ std::unique_ptr make_unique(Args &&... args) #endif } // namespace details } // namespace spdlog + +#ifndef SPDLOG_STATIC_LIB +#include "commont-inl.h" +#endif \ No newline at end of file diff --git a/src/spdlog.cpp b/src/spdlog.cpp index c41ca6e9..465812c5 100644 --- a/src/spdlog.cpp +++ b/src/spdlog.cpp @@ -1,7 +1,11 @@ // Copyright(c) 2015-present Gabi Melman & spdlog contributors. // Distributed under the MIT License (http://opensource.org/licenses/MIT) -#include "spdlog/spdlog.h" +#include + +#include "spdlog/common.h" +#include "spdlog/common-inl.h" + #include "spdlog/details/null_mutex.h"