functional_logical_and

functional_logical_and (논리 AND 함수 객체)

이 페이지는 C++ 표준 라이브러리의 std::logical_and 함수 객체에 대해 설명해요. std::logical_and는 두 인자의 논리 AND(논리곱)를 계산하는 함수 객체로, operator&&를 호출하는 것과 같은 효과를 내요. C++14부터 T = void 특수화를 통해 인자와 반환 타입을 자동으로 추론할 수 있어요.

출처: cppreference

본문

정의

<functional> 헤더에 정의되어 있어요.

템플릿 정의 버전
template < class T > struct logical_and ; (C++14 이전)
template < class T = void > struct logical_and ; (C++14 이후)

설명

std::logical_and는 논리 AND(논리곱)를 수행하는 함수 객체예요. 효과적으로 T 타입에 대해 operator&&를 호출해요.

특수화

표준 라이브러리는 T가 지정되지 않은 경우 std::logical_and의 특수화를 제공하며, 이때 파라미터 타입과 반환 타입은 추론돼요.

특수화 설명
logical_and<void> (C++14) x && y를 구현하며 파라미터와 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화)

멤버 타입

멤버 타입 정의
result_type (C++17에서 deprecated, C++20에서 제거) bool
first_argument_type (C++17에서 deprecated, C++20에서 제거) T
second_argument_type (C++17에서 deprecated, C++20에서 제거) T

C++11 이전에는 이러한 멤버 타입이 std::binary_function<T, T, bool>을 공개 상속하여 얻어졌어요.

멤버 함수

함수 설명
operator() 두 인자의 논리 AND를 반환해요 (공개 멤버 함수)

std::logical_and::operator()

bool operator ()( const T & lhs , const T & rhs ) const ;

(C++14부터 constexpr)

lhsrhs의 논리 AND를 반환해요.

매개변수

매개변수 설명
lhs, rhs 논리 AND를 계산할 값

반환값

lhs && rhs의 결과예요.

예외

구현 정의 예외를 던질 수 있어요.

가능한 구현

constexpr bool operator ()( const T & lhs , const T & rhs ) const { return lhs && rhs ; }

더 알아보기 (Learn more)

cppreference