c++ - boost::log 教程中的代码如何工作?

标签 c++ boost-log

我已经有一段时间没有使用 C++ 了,我对语法有点迷茫。有人可以向我解释 boost::log 库教程中的以下几行吗?

logging::core::get()->set_filter
(
    logging::trivial::severity >= logging::trivial::info
);

据我所知,它是函数 set_filter() 调用,但它需要一个 filter 对象:

BOOST_LOG_API void set_filter(filter const& filter)

和表达式:

logging::trivial::severity >= logging::trivial::info

返回 bool 值? operator >= 在这里重载了吗?我试图通过查找定义和宏来解决这个问题,但我看不到任何运算符重载。在我看来这不合逻辑。它有什么作用?它是如何工作的?

最佳答案

logging::trivial::severity >= logging::trivial::info 返回一个函数对象。

函数对象进行比较。

由 Boost.Phoenix 库完成。

关于c++ - boost::log 教程中的代码如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623736/

相关文章:

c++ - 旋转对象以匹配 vector

c++ - 所有 constexpr 变量都隐式内联吗?

c++ - boost 日志 : Why it is showing duplicate the message?

c++ - boost MPL::vector 未被识别且元状态机 (MSM) 转换表未定义

c++ - 有一个返回 int 的函数,如何使用 boost 在单独的线程中运行它?

windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7)

boost - 安装 boost 日志

c++ - Boost Log 的普通记录器的 "lazy evaluation"是如何工作的?

c++ - 类 'FileIO' 具有非法的零大小数组;多个字符字符串作为成员数据问题