名前空間
変種
操作

std::bit_and

From cppreference.com
< cpp‎ | utility‎ | functional
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
関数オブジェクト
関数の呼び出し
(C++17)(C++23)
恒等関数オブジェクト
(C++20)
透過的な演算子ラッパー
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

古いバインダとアダプタ
(C++17まで*)
(C++17まで*)
(C++17まで*)
(C++17まで*)  
(C++17まで*)
(C++17*まで)(C++17*まで)(C++17*まで)(C++17*まで)
(C++20まで*)
(C++20まで*)
(C++17*まで)(C++17*まで)
(C++17*まで)(C++17*まで)

(C++17まで*)
(C++17*まで)(C++17*まで)(C++17*まで)(C++17*まで)
(C++20まで*)
(C++20まで*)
 
ヘッダ <functional> で定義
template< class T >
struct bit_and;
(C++14まで)
template< class T = void >
struct bit_and;
(C++14以降)

ビット演算ANDを実行するための関数オブジェクト。型Toperator& を効果的に呼び出します。

目次

[編集] 特殊化

標準ライブラリは、Tが指定されない場合のstd::bit_andの特殊化を提供しており、これによりパラメータ型と戻り値の型が推論されます。

パラメータ型と戻り値の型を推論して 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

これらのメンバ型は、`std::binary_function` を介して公開で継承されます。

(C++11まで)

[編集] メンバ関数

operator()
2つの引数のビット演算ANDの結果を返します。
(public member function)

std::bit_and::operator()

T operator()( const T& lhs, const T& rhs ) const;
(C++14以降constexpr)

lhsrhs のビット演算ANDの結果を返します。

パラメータ

lhs, rhs - ビット演算ANDを計算する値

戻り値

lhs & rhs の結果。

[編集] 例外

実装定義の例外をスローする場合があります。

可能な実装

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

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 660 C++98 ビット単位演算用の関数オブジェクトが欠けていた 追加された
English 日本語 中文(简体) 中文(繁體)