operator==,!=,<,<=,>,>= (std::valarray)
|
定義済みヘッダー
<valarray>
|
||
|
template
<
class
T
>
std::
valarray
<
bool
>
operator
==
(
const
std::
valarray
<
T
>
&
lhs,
const
std::
valarray
<
T
>
&
rhs
)
;
|
(1) | |
|
template
<
class
T
>
std::
valarray
<
bool
>
operator
==
(
const
typename
std::
valarray
<
T
>
::
value_type
&
lhsv,
|
(2) | |
|
template
<
class
T
>
std::
valarray
<
bool
>
operator
==
(
const
std::
valarray
<
T
>
&
lhs,
|
(3) | |
数値配列内の各値を別の値と比較します。
動作は未定義です、もし size ( ) ! = v. size ( ) の場合。
目次 |
パラメータ
| lhs, rhs | - | 比較する数値配列 |
| lhsv, rhsv | - | 数値配列内の各要素と比較する値 |
戻り値
対応する要素の比較結果を含む bool 型の数値配列。
例外
実装定義の例外をスローする可能性があります。
注記
各演算子は、以下の要件が満たされている場合にのみインスタンス化できます:
-
-
指定された演算子は型
Tに適用可能です。 - 結果の値は明確に bool に変換可能です。
-
指定された演算子は型
この関数は、戻り値の型が std::valarray と異なる型で実装される場合があります。この場合、置換型は以下の特性を持ちます:
-
- const メンバ関数の全てが std::valarray に対して提供される。
- std::valarray , std::slice_array , std::gslice_array , std::mask_array および std::indirect_array は置換型から構築可能である。
- const std:: valarray < T > & を引数に取る全ての関数 ( begin() および end() を除く )(C++11以降) に対して、置換型を取る同一の関数が追加される;
- 2つの const std:: valarray < T > & 引数を取る全ての関数に対して、 const std:: valarray < T > & と置換型のあらゆる組み合わせを取る同一の関数が追加される。
- 戻り値の型は、最も深くネストされた引数型に対して2レベルを超えるテンプレートのネストを追加しない。
例
#include <iostream> #include <valarray> int main() { // valarray内の負の値をすべてゼロにする std::valarray<int> v = {1, -1, 0, -3, 10, -1, -2}; std::cout << "Before: "; for (auto n : v) std::cout << n << ' '; std::cout << '\n'; v[v < 0] = 0; std::cout << "After: "; for (auto n : v) std::cout << n << ' '; std::cout << '\n'; // ==演算子の結果であるvalarray<bool>を単一のbool値に変換 std::valarray<int> a = {1, 2, 3}; std::valarray<int> b = {2, 4, 6}; std::cout << "2*a == b is " << std::boolalpha << (2 * a == b).min() << '\n'; }
出力:
Before: 1 -1 0 -3 10 -1 -2 After: 1 0 0 0 10 0 0 2*a == b is true
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 3074 | C++98 |
T
がスカラーと
valarray
の両方から推論される
(混合型呼び出しが許可されない) |
T
は
valarray
からのみ推論する
|