std::binary_negate
提供:cppreference.com
< cpp | utility | functional
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <functional>
|
||
| template< class Predicate > struct binary_negate : |
(C + + 11時まで) | |
| template< class Predicate > struct binary_negate; |
(C + + 11以来) | |
binary_negateラッパー関数オブジェクトは、それが保持するバイナリ述語の補数を返しています.Original:
binary_negate is a wrapper function object returning the complement of the binary 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.
You can help to correct and verify the translation. Click here for instructions.
バイナリ述語のタイプは、述語のパラメータ型に変換できる2メンバータイプ、
first_argument_typeとsecond_argument_typeを定義する必要があります。 std::owner_lessから得られた関数オブジェクト、std::ref、std::cref、std::plus、std::minus、std::multiplies、std::divides、std::modulus、std::equal_to、std::not_equal_to、std::greater、std::less、std::greater_equal、std::less_equal、std::logical_not、std::logical_or、std::bit_and、std::bit_or、std::bit_xor、std::mem_fn、std::map::value_comp、std::multimap::value_comp、std::function 、またはstd::not2これらの型が定義されているの呼び出しから、廃止されたstd::binary_functionから派生した関数オブジェクトがあるので. Original:
The binary predicate type must define two member types,
first_argument_type and second_argument_type, that are convertible to the predicate's parameter types. The function objects obtained from std::owner_less, std::ref, std::cref, std::plus, std::minus, std::multiplies, std::divides, std::modulus, std::equal_to, std::not_equal_to, std::greater, std::less, std::greater_equal, std::less_equal, std::logical_not, std::logical_or, std::bit_and, std::bit_or, std::bit_xor, std::mem_fn, std::map::value_comp, std::multimap::value_comp, std::function, or from a call to std::not2 have these types defined, as are function objects derived from the deprecated std::binary_function. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
binary_negateオブジェクトを容易にstd::not2ヘルパー関数を使用して構築されて.Original:
binary_negate objects are easily constructed with helper function std::not2.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
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 |
first_argument_type
|
Predicate::first_argument_type |
second_argument_type
|
Predicate::second_argument_type |
result_type
|
bool |
[編集] メンバ関数
| (constructor) |
constructs a new binary_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 :: binary_negate ::Original:std::binary_negate::The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.binary_negate
Original:
std::binary_negate::
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
| explicit binary_negate( Predicate const& pred ); |
||
Constructs a binary_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 :: binary_negate ::Original:std::binary_negate::The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.operator()
Original:
std::binary_negate::
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
| bool operator()( first_argument_type const& x, second_argument_type const& y ) const; |
||
Returns the logical complement of the result of calling pred(x, y).
Parameters
| x | - | 述部を通過させるために、最初の引数
Original: first 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. |
| y | - | 第二引数に述語を通過する
Original: second 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, y).
[編集] 例
#include <algorithm> #include <functional> #include <iostream> #include <vector> struct same : std::binary_function<int, int, bool> { bool operator()(int a, int b) const { return a == b; } }; int main() { std::vector<int> v1; std::vector<int> v2; for (int i = 0; i < 10; ++i) v1.push_back(i); for (int i = 0; i < 10; ++i) v2.push_back(10 - i); std::vector<bool> v3(v1.size()); std::binary_negate<same> not_same((same())); std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), not_same); /* C++11 solution: // Use std::function<bool (int, int)> std::function<bool (int, int)> not_same = [](int x, int y)->bool{ return !same()(x, y); }; std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), not_same); */ std::cout.setf(std::ios_base::boolalpha); for (int i = 0; i < 10; ++i) std::cout << v1[i] << ' ' << v2[i] << ' ' << v3[i] << '\n'; }
Output:
0 10 true 1 9 true 2 8 true 3 7 true 4 6 true 5 5 false 6 4 true 7 3 true 8 2 true 9 1 true
[編集] も参照してください
| (廃止予定) |
アダプタと互換性のあるバイナリ関数基底クラス Original: adaptor-compatible binary function base class The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (クラステンプレート) |
| (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. (クラステンプレート) |
| カスタムstd::binary_negateオブジェクトを作成します Original: constructs custom std::binary_negate object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) | |
| (廃止予定) |
関数へのポインタからアダプタと互換性のある関数オブジェクトのラッパーを作成します Original: creates an adaptor-compatible function object wrapper from a pointer to function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) |
| ラッパー関数オブジェクトは、それが保持単項述語の補集合を返す Original: 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. (クラステンプレート) | |