34 const std::string &message)
43 GetStdHandle((level>1)?STD_OUTPUT_HANDLE:STD_ERROR_HANDLE);
49 if(GetConsoleMode(out_handle, &consoleMode))
52 std::wstring wide_message=
widen(message);
57 out_handle, wide_message.c_str(),
58 (DWORD)wide_message.size(), &number_written, NULL);
60 WriteConsoleW(out_handle, L
"\r\n", 2, &number_written, NULL);
68 std::cout << message <<
'\n';
71 std::cerr << message <<
'\n';
79 std::cout << message <<
'\n';
82 std::cerr << message <<
'\n';
94 std::cout << std::flush;
97 std::cerr << std::flush;
102 const std::string &message,
113 if(!
function.empty())
119 dest+=
"In function '"+
id2string(
function)+
"':\n";
147 const std::string &message)
153 std::cerr << message <<
'\n' << std::flush;
const std::string & id2string(const irep_idt &d)
std::wstring widen(const char *s)
const irep_idt & get_function() const
const irep_idt & get_column() const
const irep_idt & get_line() const
virtual void flush(unsigned level) override
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
const irep_idt & get_file() const
virtual void print(unsigned level, const std::string &message) override
virtual void print(unsigned level, const std::string &message) override
virtual void print(unsigned level, const std::string &message)=0