diff options
Diffstat (limited to 'fuzzing/NullOStream.h')
| -rw-r--r-- | fuzzing/NullOStream.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/fuzzing/NullOStream.h b/fuzzing/NullOStream.h new file mode 100644 index 0000000..abbec09 --- /dev/null +++ b/fuzzing/NullOStream.h @@ -0,0 +1,28 @@ + +// Copyright Catch2 Authors +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE.txt or copy at +// https://www.boost.org/LICENSE_1_0.txt) + +// SPDX-License-Identifier: BSL-1.0 + +#pragma once + +#include <ostream> +#include <streambuf> + +// 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(); +}; + |
