25 #include <type_traits> 45 enum class Log : unsigned char
75 explicit Logger(Log type,
const QString& class_name);
79 static void register_log_listener(
LogListener* log_listener);
81 Logger& operator << (
const QString& msg);
82 Logger& operator << (
const QChar& c);
83 Logger& operator << (
const QStringList& lst);
84 Logger& operator << (
const QByteArray& arr);
85 Logger& operator << (
const QPoint& point);
86 Logger& operator << (
const char* str);
87 Logger& operator << (
const std::string& str);
88 Logger& operator << (
const Log& log_type);
91 typename std::enable_if< std::is_floating_point<T>::value,
Logger&>::type
92 operator << (
const T& val){
94 (*this) << std::to_string(val);
100 typename std::enable_if< std::is_integral<T>::value,
Logger&>::type
101 operator << (
const T& val){
103 (*this) << std::to_string(val);
108 template<
typename T,
template <
typename ELEM>
class CONT>
109 Logger& operator << (const CONT<T> list){
110 for(
const T& item : list){
111 (*this) << std::to_string(item) <<
", ";
119 Logger sp_log(Log type,
const char* data);
122 typename std::enable_if< std::is_class<T>::value,
Logger>::type
123 sp_log(Log type,
const T*)
125 return sp_log(type,
typeid(T).name());
128 Q_DECLARE_METATYPE(Log)
The Logger class.
Definition: Logger.h:67
Definition: LogListener.h:32