diff --git a/src/util/util.h b/src/util/util.h index a1353df25..cd0c0e00b 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -192,6 +192,17 @@ unsigned get_verbosity_level(); std::ostream& verbose_stream(); void set_verbose_stream(std::ostream& str); +class scoped_set_verbosity_level { + unsigned m_prev; +public: + scoped_set_verbosity_level(unsigned lvl) { + m_prev = get_verbosity_level(); + set_verbosity_level(lvl); + } + ~scoped_set_verbosity_level() { + set_verbosity_level(m_prev); + } +}; #define IF_VERBOSE(LVL, CODE) { if (get_verbosity_level() >= LVL) { THREAD_LOCK(CODE); } } ((void) 0)