Я ищу реализацию std :: ostream
, которая действует как / dev / null
. Он просто проигнорирует все, что ему передается. Такое есть в стандартных библиотеках или в Boost? Или мне нужно использовать свой собственный?
Пусть это решение будет преодолевать проблему производительности, не используя повышение:
#include <ostream>
class dev0_buffer : public std::streambuf
{
//called usually for n-characters
std::streamsize xsputn (const char* s, std::streamsize n) override { return n; }
//may not required due it's not called anymore
int overflow (int c) override { return c; }
} nirwana;
class dev0_stream : public std::ostream
{
public:
dev0_stream(): std::ostream(&nirwana){}
};