名前空間
変種
操作

std::bit_not

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 = void >
struct bit_not;
(C++14以降)

ビットごとのNOTを実行するための関数オブジェクト。型Tに対して実質的にoperator~を呼び出します。

目次

[編集] 特殊化

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

パラメータと戻り値の型を推論して~xを実装する関数オブジェクト
(クラステンプレート特殊化) [編集]

[編集] メンバー型

定義
result_type (C++17で非推奨)(C++20で削除) T
argument_type (C++17で非推奨)(C++20で削除) T

[編集] メンバ関数

operator()
(C++14)
引数のビットごとのNOTの結果を返します。
(public member function)

std::bit_not::operator()

constexpr T operator()( const T& arg ) const;
(C++14以降)

argのビットごとのNOTの結果を返します。

パラメータ

arg - ビットごとのNOTを計算する値

戻り値

~argの結果。

[編集] 例外

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

可能な実装

constexpr T operator()(const T& arg) const
{
    return ~arg;
}

[編集] 注釈

std::bit_notはC++11後提案N3421によって追加されましたが、多くの実装では、その透明な特殊化std::bit_not<>を除き、LWG issue 660の解決策の一部として扱われており、したがってC++98/03モードでも利用可能です。

English 日本語 中文(简体) 中文(繁體)