catch2/fuzzing/NullOStream.h

21 lines
451 B
C
Raw Normal View History

2020-09-23 21:54:09 +02:00
#pragma once
2020-09-25 20:57:12 +02:00
#include <ostream>
#include <streambuf>
2020-09-23 21:54:09 +02:00
// from https://stackoverflow.com/a/8244052
class NullStreambuf : public std::streambuf {
char dummyBuffer[64];
protected:
virtual int overflow(int c) override final;
};
class NullOStream final : private NullStreambuf, public std::ostream {
public:
NullOStream() : std::ostream(this) {}
NullStreambuf *rdbuf() { return this; }
virtual void avoidOutOfLineVirtualCompilerWarning();
};