boost::log 教程中的代码如何工作

How does code in the boost::log tutorial work?

本文关键字:何工作 工作 代码 log 教程 boost      更新时间:2023-10-16

我已经有一段时间没有使用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

返回布尔?这里的operator >=超载了吗?我试图通过查找定义和宏来弄清楚,但我看不到任何运算符重载。这对我来说似乎不合逻辑。它有什么作用?它是如何工作的?

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

函数对象执行比较。

它是由Boost.Phoenix图书馆完成的。