名前空間
変種
操作

std::unary_negate

提供: cppreference.com
< cpp‎ | utility‎ | functional

 
 
 
関数オブジェクト
関数ラッパー
(C++11)
(C++11)
バインド
(C++11)
関数呼び出し
(C++17)
恒等関数オブジェクト
(C++20)
参照ラッパー
(C++11)(C++11)
演算子ラッパー
否定子
(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以前)
unary_negate
(C++20以前)
(C++20以前)
 
ヘッダ <functional> で定義
template< class Predicate >
struct unary_negate : public std::unary_function<Predicate::argument_type, bool>;
(C++11以前)
template< class Predicate >
struct unary_negate;
(C++11およびそれ以降)
unary_negateラッパー関数オブジェクトは、それが保持​​単項述語の補数を返しています.
Original:
unary_negate is a wrapper function object returning the complement of the unary predicate it holds.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
単項述語のタイプは、メンバータイプ、述部のパラメーター·タイプに変換可能であるargument_typeを定義する必要があります。 std::refから得単項関数オブジェクト、std::crefstd::negatestd::logical_notstd::mem_fnstd::functionstd::hash、または別の呼び出しからstd::not1非推奨std::unary_functionから派生した関数オブジェクトがあるので、このタイプは、定義されている.
Original:
The unary predicate type must define a member type, argument_type, that is convertible to the predicate's parameter type. The unary function objects obtained from std::ref, std::cref, std::negate, std::logical_not, std::mem_fn, std::function, std::hash, or from another call to std::not1 have this type defined, as are function objects derived from the deprecated std::unary_function.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
unary_negateオブジェクトを容易にstd::not1ヘルパー関数を使用して構築されて.
Original:
unary_negate objects are easily constructed with helper function std::not1.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] メンバータイプ

タイプ
Original:
Type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
argument_type Predicate::argument_type
result_type bool

[編集] メンバ関数

コンストラクタ
constructs a new unary_negate object with the supplied predicate
(パブリックメンバ関数)
operator()
格納された述語の呼び出しの結果の論理補数を返します
Original:
returns the logical complement of the result of a call to the stored predicate
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数)

のstd :: unary_negate ::
Original:
std::unary_negate::
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
unary_negate

explicit unary_negate( Predicate const& pred );

Constructs a unary_negate function object with the stored predicate pred.

Parameters

pred -
述語関数オブジェクト
Original:
predicate function object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

のstd :: unary_negate ::
Original:
std::unary_negate::
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
operator()

bool operator()( argument_type const& x ) const;

Returns the logical complement of the result of calling pred(x).

Parameters

x -
述語に渡すための引数
Original:
argument to pass through to predicate
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Return value

The logical complement of the result of calling pred(x).

[編集]

#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
 
struct less_than_7 : std::unary_function<int, bool>
{
    bool operator()(int i) const { return i < 7; }
};
 
int main()
{
    std::vector<int> v;
    for (int i = 0; i < 10; ++i) v.push_back(i);
 
    std::unary_negate<less_than_7> not_less_than_7((less_than_7()));
 
    std::cout << std::count_if(v.begin(), v.end(), not_less_than_7);
 
    /* C++11 solution:
        // Use std::function<bool (int)>
        std::function<bool (int)> not_less_than_7 =
            [](int x)->bool{ return !less_than_7()(x); };
 
        std::cout << std::count_if(v.begin(), v.end(), not_less_than_7);
    */
}

出力:

3

[編集] 参照

(C++17で非推奨) (C++20で削除)
保持する二項述語の否定を返すラッパー関数オブジェクト
(クラステンプレート) [edit]
(C++11)
指定された関数呼び出しシグネチャを持つ任意の型の呼び出し可能オブジェクトをラップします
Original:
wraps callable object of any type with specified function call signature
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレート) [edit]
(C++17で非推奨)(C++20で削除)
カスタム std::unary_negate オブジェクトを構築します
(関数テンプレート) [edit]
(C++11で非推奨)(C++17で削除)
関数ポインタからアダプタ互換な関数オブジェクトを作成します
(関数テンプレート) [edit]
(C++11で非推奨)(C++17で削除)
アダプタ互換な1引数関数の基本クラス
(クラステンプレート) [edit]