#include "loud_bool.hpp" #include #include loud_bool::loud_bool(bool decorated) : result(decorated) , ignored(true) { // all done } loud_bool::loud_bool(const loud_bool & other) : result(other.result) , ignored(other.ignored) { other.ignored = false; } loud_bool::~loud_bool() { if (ignored) { std::cerr.setf(std::ios_base::boolalpha); std::cerr << "WARNING: return " << result << "; is being ignored" << std::endl; } } loud_bool::operator bool () const { ignored = false; return result; }