xo-umbrella2/xo-ppsink/include/xo/ppsink/log_level_ostream.hpp
Roland Conybeare daa7b11741
Some checks failed
cmake-docker / cmake-build (gcc, g++) (push) Has been cancelled
CI / smoke-test (push) Has been cancelled
cmake-docker / cmake-build (clang, clang++) (push) Has been cancelled
xo-reactor: use xo-ppsink !xo-indentlog [REFACTOR]
2026-08-07 20:01:08 -04:00

28 lines
789 B
C++

/** @file log_level_ostream.hpp
*
* @author Roland Conybeare, Aug 2026
*
* operator<<(std::ostream&, log_level): print a log_level by name.
*
* Segregated from log_level.hpp, which stays free of <ostream> (same split as
* tag.hpp vs tag_ostream.hpp). The legacy xo-indentlog log_level.hpp declared
* its inserter inline, so every includer paid for <ostream>.
*
* Include this where a log_level is streamed -- including where it is a legacy
* xo::xtag value, since that renders through operator<<.
**/
#pragma once
#include "log_level.hpp"
#include <ostream>
namespace xo::pp {
inline std::ostream &
operator<<(std::ostream & os, log_level x) {
os << log_level_name(x);
return os;
}
} /*namespace xo::pp*/
/* end log_level_ostream.hpp */