25 #include <type_traits> 44 enum class Log : unsigned char
67 explicit Logger(
const Log& type,
const QString& class_name);
71 static void register_log_listener(
LogListener* log_listener);
73 Logger& operator << (
const QString& msg);
74 Logger& operator << (
const QChar& c);
75 Logger& operator << (
const QStringList& lst);
76 Logger& operator << (
const QByteArray& arr);
77 Logger& operator << (
const QPoint& point);
78 Logger& operator << (
const QSize& size);
79 Logger& operator << (
const QRect& size);
80 Logger& operator << (
const char* str);
81 Logger& operator << (
const std::string& str);
82 Logger& operator << (
const Log& log_type);
85 typename std::enable_if< std::is_floating_point<T>::value,
Logger&>::type
86 operator << (
const T& val){
88 (*this) << std::to_string(val);
94 typename std::enable_if< std::is_integral<T>::value,
Logger&>::type
95 operator << (
const T& val){
97 (*this) << std::to_string(val);
102 template<
typename T,
template <
typename ELEM>
class CONT>
103 Logger& operator << (const CONT<T> list){
104 for(
const T& item : list){
105 (*this) << std::to_string(item) <<
", ";
112 Logger sp_log(
const Log& type);
113 Logger sp_log(
const Log& type,
const char* data);
116 typename std::enable_if< std::is_class<T>::value,
Logger>::type
117 sp_log(
const Log& type,
const T*)
119 return sp_log(type,
typeid(T).name());
122 Q_DECLARE_METATYPE(Log)
The Logger class.
Definition: Logger.h:59
Definition: LogListener.h:32