#ifndef UTIL_OSP_LOGGING_H_
#define UTIL_OSP_LOGGING_H_
#include <sstream>
#include <string_view>
#include <utility>
#include "platform/api/logging.h"
namespace openscreen::internal {
class LogMessage { … };
class Voidify { … };
}
#define OSP_LAZY_STREAM(condition, stream) …
#define OSP_LOG_IS_ON(level_enum) …
#define OSP_LOG_STREAM(level_enum) …
#define OSP_VLOG …
#define OSP_LOG_INFO …
#define OSP_LOG_WARN …
#define OSP_LOG_ERROR …
#define OSP_LOG_FATAL …
#define OSP_VLOG_IF(condition) …
#define OSP_LOG_IF(level, condition) …
#define OSP_CHECK(condition) …
#define OSP_CHECK_EQ(a, b) …
#define OSP_CHECK_NE(a, b) …
#define OSP_CHECK_LT(a, b) …
#define OSP_CHECK_LE(a, b) …
#define OSP_CHECK_GT(a, b) …
#define OSP_CHECK_GE(a, b) …
#if defined(_DEBUG) || defined(DCHECK_ALWAYS_ON)
#define OSP_DCHECK_IS_ON() …
#define OSP_DCHECK(condition) …
#define OSP_DCHECK_EQ(a, b) …
#define OSP_DCHECK_NE(a, b) …
#define OSP_DCHECK_LT(a, b) …
#define OSP_DCHECK_LE(a, b) …
#define OSP_DCHECK_GT(a, b) …
#define OSP_DCHECK_GE(a, b) …
#else
#define OSP_DCHECK_IS_ON …
#define OSP_EAT_STREAM …
#define OSP_DCHECK …
#define OSP_DCHECK_EQ …
#define OSP_DCHECK_NE …
#define OSP_DCHECK_LT …
#define OSP_DCHECK_LE …
#define OSP_DCHECK_GT …
#define OSP_DCHECK_GE …
#endif
#define OSP_DVLOG …
#define OSP_DLOG_INFO …
#define OSP_DLOG_WARN …
#define OSP_DLOG_ERROR …
#define OSP_DLOG_FATAL …
#define OSP_DVLOG_IF(condition) …
#define OSP_DLOG_IF(level, condition) …
#define OSP_UNIMPLEMENTED() …
#define OSP_NOTREACHED() …
#endif