functional_bit_and

functional_bit_and (비트 AND 함수 객체)

이 페이지는 C++ 표준 라이브러리의 std::bit_and 함수 객체에 대해 설명해요. std::bit_and는 두 값에 대해 비트 단위 AND 연산을 수행하는 함수 객체예요. 주로 알고리즘과 함께 사용되어 두 인수의 비트 AND 결과를 반환해요.

출처: cppreference

본문

정의

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

헤더 <functional>
템플릿 선언 template < class T > struct bit_and ; (C++14까지)
template < class T = void > struct bit_and ; (C++14부터)

std::bit_and는 타입 T에 대해 비트 AND 연산을 수행하는 함수 객체예요. 실제로는 타입 T에 대한 operator&를 호출해요.

특수화 (Specializations)

표준 라이브러리는 T가 지정되지 않은 경우 std::bit_and의 특수화를 제공해요. 이 특수화는 매개변수 타입과 반환 타입을 추론하도록 남겨두어요.

특수화 설명
bit_and<void> (C++14) x & y를 구현하며 매개변수 타입과 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화)

멤버 타입 (Member types)

타입 정의
result_type (C++17에서 deprecated, C++20에서 제거) T
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, T>를 공개적으로 상속하여 얻었어요.

멤버 함수 (Member functions)

함수 설명
operator() 두 인수의 비트 AND 결과를 반환해요 (공개 멤버 함수)

std::bit_and::operator()

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

(C++14부터 constexpr)

lhsrhs의 비트 AND 결과를 반환해요.

매개변수 (Parameters)

lhs, rhs - 비트 AND를 계산할 값

반환값 (Return value)

lhs & rhs의 결과예요.

예외 (Exceptions)

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

가능한 구현 (Possible implementation)

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

결함 보고서 (Defect reports)

다음 동작 변경 결함 보고서는 이전에 발표된 C++ 표준에 소급 적용되었어요.

DR 적용 대상 발표된 동작 올바른 동작
LWG 660 C++98 비트 연산을 위한 함수 객체가 없음 추가됨

더 알아보기 (Learn more)

cppreference