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)
lhs와 rhs의 논리 AND를 반환해요.
매개변수
| 매개변수 | 설명 |
|---|---|
lhs, rhs |
논리 AND를 계산할 값 |
반환값
lhs && rhs의 결과예요.
예외
구현 정의 예외를 던질 수 있어요.
가능한 구현
constexpr bool operator ()( const T & lhs , const T & rhs ) const { return lhs && rhs ; }