10 #ifndef CPROVER_UTIL_MESSAGE_H 11 #define CPROVER_UTIL_MESSAGE_H 27 virtual void print(
unsigned level,
const std::string &message) = 0;
31 const std::string &message,
35 virtual void flush(
unsigned level)
63 virtual void print(
unsigned level,
const std::string &message)
70 const std::string &message,
74 print(level, message);
85 virtual void print(
unsigned level,
const std::string &message)
90 out << message <<
'\n';
93 virtual void flush(
unsigned level)
118 M_ERROR=1, M_WARNING=2, M_RESULT=4, M_STATUS=6,
119 M_STATISTICS=8, M_PROGRESS=9, M_DEBUG=10
124 message_handler=&_message_handler;
129 INVARIANT(message_handler!=
nullptr,
"message handler is set");
130 return *message_handler;
136 message_handler(nullptr),
137 mstream(M_DEBUG, *this)
142 message_handler(other.message_handler),
143 mstream(other.mstream)
148 message_handler(&_message_handler),
149 mstream(M_DEBUG, *this)
159 unsigned _message_level,
161 message_level(_message_level),
167 message_level(other.message_level),
168 message(other.message),
169 source_location(other.source_location)
180 static_cast<std::ostream &
>(*this) << x;
205 m.str(std::string());
213 static_cast<std::ostream &
>(m) << std::endl;
225 return get_mstream(M_ERROR);
230 return get_mstream(M_WARNING);
235 return get_mstream(M_RESULT);
240 return get_mstream(M_STATUS);
245 return get_mstream(M_STATISTICS);
250 return get_mstream(M_PROGRESS);
255 return get_mstream(M_DEBUG);
263 #endif // CPROVER_UTIL_MESSAGE_H
std::ostream & operator<<(std::ostream &out, const cfg_dominators_templatet< P, T, post_dom > &cfg_dominators)
Print the result of the dominator computation.
stream_message_handlert(std::ostream &_out)
static mstreamt & eom(mstreamt &m)
virtual void print(unsigned level, const std::string &message)
#define INVARIANT(CONDITION, REASON)
unsigned get_verbosity() const
messaget(const messaget &other)
mstreamt & get_mstream(unsigned message_level)
source_locationt source_location
virtual void print(unsigned level, const std::string &message, int sequence_number, const source_locationt &location)
static mstreamt & endl(mstreamt &m)
virtual void set_message_handler(message_handlert &_message_handler)
virtual void print(unsigned level, const std::string &message)
virtual void flush(unsigned level)
messaget(message_handlert &_message_handler)
message_handlert & get_message_handler()
std::vector< unsigned > message_count
mstreamt(unsigned _message_level, messaget &_message)
void set_verbosity(unsigned _verbosity)
virtual ~message_handlert()
virtual void flush(unsigned level)
message_handlert * message_handler
mstreamt(const mstreamt &other)
virtual void print(unsigned level, const std::string &message)=0
unsigned get_message_count(unsigned level) const