Существует ли реализация нулевого std :: ostream в C ++ или библиотеках?

Я ищу реализацию std :: ostream , которая действует как / dev / null . Он просто проигнорирует все, что ему передается. Такое есть в стандартных библиотеках или в Boost? Или мне нужно использовать свой собственный?

49
задан svick 6 January 2015 в 11:33
поделиться

1 ответ

Пусть это решение будет преодолевать проблему производительности, не используя повышение:

#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){}
};
0
ответ дан 7 November 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: