41 lines
660 B
C++
41 lines
660 B
C++
#pragma once
|
|
#include <iostream>
|
|
#include <ostream>
|
|
|
|
// #define LOGGER (std::cout << __FILE__ << ":" << __LINE__)
|
|
|
|
struct Logger {
|
|
Logger() = default;
|
|
|
|
template <typename T>
|
|
std::ostream& operator<<(T&& msg)
|
|
{
|
|
return std::cout << msg;
|
|
}
|
|
|
|
~Logger()
|
|
{
|
|
std::cout << std::endl;
|
|
}
|
|
|
|
};
|
|
|
|
struct IgnoreLogger {
|
|
IgnoreLogger() = default;
|
|
|
|
template <typename T>
|
|
IgnoreLogger& operator<<(T&& msg)
|
|
{
|
|
return *this;
|
|
}
|
|
|
|
~IgnoreLogger() = default;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define logger() (Logger() << __FILE__ << ":" << __LINE__ << " ")
|
|
|
|
// #define logger1() (Logger() << __FILE__ << ":" << __LINE__ << " ")
|