functional_bit_or
functional_bit_or (비트 OR 함수 객체)
이 페이지는 C++ 표준 라이브러리의 std::bit_or 함수 객체에 대해 다루어요. std::bit_or는 두 값에 대해 비트 OR 연산을 수행하는 함수 객체로, 내부적으로 operator|를 호출해요. C++14부터는 T = void 특수화를 통해 인자와 반환 타입을 자동으로 추론할 수 있어요.
출처: cppreference
본문
정의
<functional> 헤더에 정의되어 있어요.
<functional> 헤더에 정의됨 |
||
|---|---|---|
template < class T > struct bit_or ; |
(C++14 이전) | |
template < class T = void > struct bit_or ; |
(C++14부터) |
비트 OR 연산을 수행하는 함수 객체예요. 효과적으로 타입 T에 대해 operator|를 호출해요.
특수화
표준 라이브러리는 T가 지정되지 않은 경우 std::bit_or의 특수화를 제공해요. 이 특수화는 매개변수 타입과 반환 타입을 추론하도록 남겨둬요.
| 특수화 | 설명 | 도입 |
|---|---|---|
bit_or<void> |
x | y를 구현하며 매개변수와 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화) |
C++14부터 |
멤버 타입
| 멤버 타입 | 정의 |
|---|---|
result_type (C++17에서 폐지, C++20에서 제거) |
T |
first_argument_type (C++17에서 폐지, C++20에서 제거) |
T |
second_argument_type (C++17에서 폐지, C++20에서 제거) |
T |
C++11까지는 이러한 멤버 타입들이 std::binary_function<T, T, T>를 공개 상속하여 얻어졌어요.
멤버 함수
| 멤버 함수 | 설명 |
|---|---|
operator() |
두 인자의 비트 OR 결과를 반환해요 (공개 멤버 함수) |
std::bit_or::operator()
T operator()(const T& lhs, const T& rhs) const; |
(C++14부터 constexpr) |
|---|
lhs와 rhs의 비트 OR 결과를 반환해요.
매개변수
lhs, rhs |
- | 비트 OR를 계산할 값들이에요. |
|---|
반환값
lhs | rhs의 결과예요.
예외
구현 정의 예외를 던질 수 있어요.
가능한 구현
constexpr T operator ()( const T & lhs , const T & rhs ) const { return lhs | rhs ; }
결함 보고서
다음 동작 변경 결함 보고서는 이전에 발표된 C++ 표준에 소급 적용되었어요.
| DR | 적용 대상 | 공개된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 660 | C++98 | 비트 연산을 위한 함수 객체가 없음 | 추가됨 |