В ходе модификации консольной проги под ГУИ-версию возник такой вопрос...
В консольной версии вывод о процессе работы осуществляется так:
cout << "Program works fine, blah blah blah";
Когда захотелось сделать вывод в ГУИшное окошко пришло осознание того, что все подобные конструкции типа cout << ""; придется переписывать под конкретную граф. либу. (QT или GTK к примеру).
Есть ли нечто подобное типа std::cout только с перспективой переноса, скажем что-то типа my_ported_cout c перегруженным << , где можно заменять саму реализацию вывода , а не все конструкции в самой программе?
Например:
my_ported_cout << "blah";
для консольной версии работает с stdout, для графической версии рисует в окошко и т.д., т.е чтоб каждый раз не заботится о выводе, а иметь уже готовую реализацию my_ported_cout, которая в зависимости от #define CONSOLE_OUTPUT или GTK_WINDOW_OUTPUT уже сама решает куда ей вывод осуществлять... Есть такое чудо где-нибудь? Или на практике каждый раз приходится везде вывод заменять?
Заранее большое спасибо.