Fixed issue #39 User defined types no longer streamable

This commit is contained in:
gabi 2015-01-28 00:53:16 +02:00
parent d071e5fcfa
commit 56ee7316e9

View File

@ -23,7 +23,7 @@
/*************************************************************************/ /*************************************************************************/
#pragma once #pragma once
#include <type_traits>
#include "../common.h" #include "../common.h"
#include "../logger.h" #include "../logger.h"
#ifdef SPDLOG_CLOCK_COARSE #ifdef SPDLOG_CLOCK_COARSE
@ -96,18 +96,85 @@ public:
} }
} }
void write(const char* what) void write(const char* what)
{ {
if (_enabled) if (_enabled)
_log_msg.raw << what; _log_msg.raw << what;
} }
void write(const std::string& what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(int what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(unsigned int what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(unsigned long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(long long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(unsigned long long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(double what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(long double what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(float what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(char what)
{
if (_enabled)
_log_msg.raw << what;
}
template<typename T> template<typename T>
line_logger& operator<<(const T& what) line_logger& operator<<(const T& what)
{ {
if (_enabled) if (_enabled)
_log_msg.raw << what; _log_msg.raw.write("{}", what);
return *this; return *this;
} }