template< class T > valarray<bool> operator==( const valarray<T>& lhs, const valarray<T>& rhs ); template< class T > valarray<bool> operator!=( const valarray<T>& lhs, const valarray<T>& rhs ); template< class T > valarray<bool> operator<( const valarray<T>& lhs, const valarray<T>& rhs ); template< class T > valarray<bool> operator<=( const valarray<T>& lhs, const valarray<T>& rhs ); template< class T > valarray<bool> operator>( const valarray<T>& lhs, const valarray<T>& rhs ); template< class T > valarray<bool> operator>=( const valarray<T>& lhs, const valarray<T>& rhs ); | (1) | |
template< class T > valarray<bool> operator==( const T& lhsv, const valarray<T>& rhs ); template< class T > valarray<bool> operator!=( const T& lhsv, const valarray<T>& rhs ); template< class T > valarray<bool> operator<( const T& lhsv, const valarray<T>& rhs ); template< class T > valarray<bool> operator<=( const T& lhsv, const valarray<T>& rhs ); template< class T > valarray<bool> operator>( const T& lhsv, const valarray<T>& rhs ); template< class T > valarray<bool> operator>=( const T& lhsv, const valarray<T>& rhs ); | (2) | |
template< class T > valarray<bool> operator==( const valarray<T>& lhs, const T& rhsv ); template< class T > valarray<bool> operator!=( const valarray<T>& lhs, const T& rhsv ); template< class T > valarray<bool> operator<( const valarray<T>& lhs, const T& rhsv ); template< class T > valarray<bool> operator<=( const valarray<T>& lhs, const T& rhsv ); template< class T > valarray<bool> operator>( const valarray<T>& lhs, const T& rhsv ); template< class T > valarray<bool> operator>=( const valarray<T>& lhs, const T& rhsv ); | (3) |
Compares each value within the numeric array with another value.
bool containing elements each of which is obtained by applying the indicated comparison operator to the corresponding values of lhs and rhs
The behavior is undefined if size() != v.size().
bool containing elements each of which is obtained by applying the indicated comparison operator to lhsv and the corresponding value of rhs .bool containing elements each of which is obtained by applying the indicated comparison operator to the corresponding value of lhs and rhsv.| lhs, rhs | - | numeric arrays to compare |
| lhsv, rhsv | - | values to compare to each element within a numeric array |
A numeric array of bool containing comparison results of corresponding elements.
(none).
Each of the operators can only be instantiated if the following requirements are met:
T bool. The function can be implemented with the return type different from std::valarray. In this case, the replacement type has the following properties:
const member functions of std::valarray are provided. std::valarray, std::slice_array, std::gslice_array, std::mask_array and std::indirect_array can be constructed from the replacement type. const std::valarray& except begin() and end() (since C++14) should also accept the replacement type. const std::valarray& should accept every combination of const std::valarray& and the replacement type. #include <iostream>
#include <valarray>
int main()
{
// zero all negatives in a 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';
// convert the vector<bool> result of == to a single 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';
}Output:
Before: 1 -1 0 -3 10 -1 -2 After: 1 0 0 0 10 0 0 2*a == b is true
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/numeric/valarray/operator_cmp