diff --git a/libs/util/include/psemek/util/null_ostream.hpp b/libs/util/include/psemek/util/null_ostream.hpp new file mode 100644 index 00000000..72d46f82 --- /dev/null +++ b/libs/util/include/psemek/util/null_ostream.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include + +namespace psemek::util +{ + + struct null_ostream + { + null_ostream & write(char const *, std::size_t) + { + return *this; + } + }; + + template + null_ostream & operator << (null_ostream & os, T const &) + { + return os; + } + + template + null_ostream && operator << (null_ostream && os, T const &) + { + return std::move(os); + } + +}