Added extern tempalate declarations

This commit is contained in:
gabime 2019-09-20 01:28:02 +03:00
parent 5496491aa4
commit e7ab49c973
4 changed files with 17 additions and 8 deletions

View File

@ -43,4 +43,6 @@ public:
#ifdef SPDLOG_HEADER_ONLY
#include "backtracer-inl.h"
#else
extern template class spdlog::details::circular_q<spdlog::details::log_msg_buffer>;
#endif

View File

@ -13,6 +13,7 @@
#include "spdlog/details/log_msg.h"
#include "spdlog/sinks/sink.h"
namespace spdlog {
namespace sinks {
template<typename Mutex>
@ -43,4 +44,9 @@ protected:
#ifdef SPDLOG_HEADER_ONLY
#include "base_sink-inl.h"
#else
#include "spdlog/details/null_mutex.h"
#include <mutex>
extern template class spdlog::sinks::base_sink<std::mutex>;
extern template class spdlog::sinks::base_sink<spdlog::details::null_mutex>;
#endif

View File

@ -6,16 +6,10 @@
#endif
#include <mutex>
#include "spdlog/sinks/base_sink.h"
#include "spdlog/details/null_mutex.h"
#include "spdlog/details/file_helper-inl.h"
#include "spdlog/sinks/base_sink-inl.h"
template class spdlog::sinks::base_sink<std::mutex>;
template class spdlog::sinks::base_sink<spdlog::details::null_mutex>;
#include "spdlog/sinks/basic_file_sink-inl.h"
template class spdlog::sinks::basic_file_sink<std::mutex>;
template class spdlog::sinks::basic_file_sink<spdlog::details::null_mutex>;

View File

@ -15,8 +15,15 @@
#include "spdlog/details/log_msg_buffer-inl.h"
#include "spdlog/logger-inl.h"
#include "spdlog/sinks/sink-inl.h"
#include "spdlog/sinks/base_sink-inl.h"
#include "spdlog/details/null_mutex.h"
#include <mutex>
// template instantiate logger constructor with sinks init list
template spdlog::logger::logger(std::string name, sinks_init_list::iterator begin, sinks_init_list::iterator end);
template class spdlog::details::circular_q<spdlog::details::log_msg_buffer>;
template class spdlog::sinks::base_sink<std::mutex>;
template class spdlog::sinks::base_sink<spdlog::details::null_mutex>;
template class fmt::basic_string_view<char>;
template class fmt::basic_memory_buffer<char, 250>;