#ifndef INCLUDE_GUARD_NULLSTREAM_H
#define INCLUDE_GUARD_NULLSTREAM_H

#include <ostream>

class nullstream : public std::ostream {
public:
    nullstream() : std::ostream(nullptr) { }
    nullstream(const nullstream&) : std::ostream(nullptr) { }

    template <typename T>
    nullstream& operator<<(const T& rhs) { return *this; }

    nullstream& operator<<(std::ostream& (*fn)(std::ostream&)) { return *this; }
};

#endif /* INCLUDE_GUARD_NULLSTREAM_H */
