Share via


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

参照

関連項目

<functional>

左辺値と右辺値

標準テンプレート ライブラリ