2013-10-27 2 views
3

나는 C++로 얼마 동안 일한 적이 없으며 구문에서 약간의 손실을 느낀다. 누군가 내게 boost::log 라이브러리 자습서에서 다음 줄을 설명해 주시겠습니까?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 >= 여기에 과부하가 걸립니까? 나는 정의와 매크로를 찾음으로써 그것을 알아 내기 위해 노력했지만 어떤 연산자 오버로딩도 볼 수 없다. 나에게 비논리적 인 것처럼 보인다. 그것은 무엇을합니까? 어떻게 작동합니까?

답변

3

logging::trivial::severity >= logging::trivial::info은 함수 객체를 반환합니다.

함수 개체가 비교를 수행합니다.

Boost.Phoenix 라이브러리에서 수행됩니다.

+0

답변 해 주셔서 감사합니다. 나는 Boost.Phoenix 라이브러리에 대해 조금 읽었고, 라이브러리가 작동하는 방식을 이해하는 것이 아니지만, 나는이 코드의 일반적인 아이디어를 얻고 있다고 생각한다. – SathOkh