Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      operator==,!=,<,<=,>,>=(std::valarray)

      From cppreference.com
      <cpp‎ |numeric‎ |valarray
       
       
       
      std::valarray
      Member functions
      Non-member functions
      Helper classes
      Deduction guides(C++17)
       
      Defined in header<valarray>
      template<class T>

      std::valarray<bool> operator==(conststd::valarray<T>& lhs,conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator!=(conststd::valarray<T>& lhs,conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator<(conststd::valarray<T>& lhs,conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator<=(conststd::valarray<T>& lhs,conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator>(conststd::valarray<T>& lhs,conststd::valarray<T>& rhs);
      template<class T>

      std::valarray<bool> operator>=(conststd::valarray<T>& lhs,conststd::valarray<T>& rhs);
      (1)
      template<class T>

      std::valarray<bool> operator==(consttypenamestd::valarray<T>::value_type& lhsv,
                                     conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator!=(consttypenamestd::valarray<T>::value_type& lhsv,
                                     conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator<(consttypenamestd::valarray<T>::value_type& lhsv,
                                     conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator<=(consttypenamestd::valarray<T>::value_type& lhsv,
                                     conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator>(consttypenamestd::valarray<T>::value_type& lhsv,
                                     conststd::valarray<T>& rhs);
      template<class T>
      std::valarray<bool> operator>=(consttypenamestd::valarray<T>::value_type& lhsv,

                                     conststd::valarray<T>& rhs);
      (2)
      template<class T>

      std::valarray<bool> operator==(conststd::valarray<T>& lhs,
                                     consttypenamestd::valarray<T>::value_type& rhsv);
      template<class T>
      std::valarray<bool> operator!=(conststd::valarray<T>& lhs,
                                     consttypenamestd::valarray<T>::value_type& rhsv);
      template<class T>
      std::valarray<bool> operator<(conststd::valarray<T>& lhs,
                                     consttypenamestd::valarray<T>::value_type& rhsv);
      template<class T>
      std::valarray<bool> operator<=(conststd::valarray<T>& lhs,
                                     consttypenamestd::valarray<T>::value_type& rhsv);
      template<class T>
      std::valarray<bool> operator>(conststd::valarray<T>& lhs,
                                     consttypenamestd::valarray<T>::value_type& rhsv);
      template<class T>
      std::valarray<bool> operator>=(conststd::valarray<T>& lhs,

                                     consttypenamestd::valarray<T>::value_type& rhsv);
      (3)

      Compares each value within the numeric array with another value.

      1) Returns a numeric array ofbool containing elements each of which is obtained by applying the indicated comparison operator to the corresponding values oflhs andrhs.

      The behavior is undefined ifsize()!= v.size().

      2) Returns a numeric array ofbool containing elements each of which is obtained by applying the indicated comparison operator tolhsv and the corresponding value ofrhs.
      3) Returns a numeric array ofbool containing elements each of which is obtained by applying the indicated comparison operator to the corresponding value oflhs andrhsv.

      Contents

      [edit]Parameters

      lhs, rhs - numeric arrays to compare
      lhsv, rhsv - values to compare to each element within a numeric array

      [edit]Return value

      A numeric array ofbool containing comparison results of corresponding elements.

      [edit]Exceptions

      May throw implementation-defined exceptions.

      [edit]Notes

      Each of the operators can only be instantiated if the following requirements are met:

      • The indicated operator can be applied to typeT.
      • The result value can be unambiguously converted tobool.

      The function can be implemented with the return type different fromstd::valarray. In this case, the replacement type has the following properties:

      [edit]Example

      Run this code
      #include <iostream>#include <valarray> int main(){// zero all negatives in a valarraystd::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 valarray<bool> result of == to a single boolstd::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 -2After: 1 0 0 0 10 0 02*a == b is true

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 3074C++98T is deduced from both the scalar and thevalarray for(2,3),
      disallowing mixed-type calls
      only deduceT from thevalarray
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/valarray/operator_cmp&oldid=160642"

      [8]ページ先頭

      ©2009-2025 Movatter.jp