bit_not 関数
引数に対してビットごとの補数 (NOT) 演算 (単項 operator~) を実行する定義済みの関数オブジェクト。
template<class Type = void>
struct bit_not : public unary_function<Type, Type>
{
Type operator()(const Type& Right) const;
};
// specialized transparent functor for operator~
template<>
struct bit_not<void>
{
template<class Type>
auto operator()(Type&& Right) const
-> decltype(~std::forward<Type>(Right));
};
パラメーター
Type
単項 operator~ をサポートする型。Right
ビットごとの補数演算の右オペランド。 特殊化されていないテンプレートでは、Type 型の左辺値参照引数を使用します。 特殊化されたテンプレートは、推論された型 Type の左辺値参照引数や右辺値参照引数の完全転送を行います。
戻り値
~Right の結果。 特殊化されたテンプレートは、結果の完全転送を行います。結果には operator~ によって返された型が含まれます。
解説
bit_not ファンクターは、基本データ型の整数型、または二項 operator~ を実装しているユーザー定義型に制限されます。
必要条件
ヘッダー: <functional>
名前空間: std