Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::indirect_binary_predicate

      From cppreference.com
      <cpp‎ |iterator
       
       
      Iterator library
      Iterator concepts
      Iterator primitives
      Algorithm concepts and utilities
      Indirect callable concepts
      indirect_binary_predicate
      (C++20)
      Common algorithm requirements
      (C++20)
      (C++20)
      (C++20)
      Utilities
      (C++20)
      Iterator adaptors
      Range access
      (C++11)(C++14)
      (C++14)(C++14)  
      (C++11)(C++14)
      (C++14)(C++14)  
      (C++17)(C++20)
      (C++17)
      (C++17)
       
      Defined in header<iterator>
      template<class F,class I1,class I2>

      concept indirect_binary_predicate=
         std::indirectly_readable<I1>&&
         std::indirectly_readable<I2>&&
         std::copy_constructible<F>&&
         std::predicate<F&,/*indirect-value-t*/<I1>,/*indirect-value-t*/<I2>>&&
         std::predicate<F&,/*indirect-value-t*/<I1>,std::iter_reference_t<I2>>&&
         std::predicate<F&,std::iter_reference_t<I1>,/*indirect-value-t*/<I2>>&&

         std::predicate<F&,std::iter_reference_t<I1>,std::iter_reference_t<I2>>;
      (since C++20)

      The conceptindirect_binary_predicate specifies requirements for algorithms that call binary predicates as their arguments. The key difference between this concept andstd::predicate is that it is applied to the types thatI1 andI2 references, rather thanI1 andI2 themselves.

      [edit]Defect reports

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

      DRApplied toBehavior as publishedCorrect behavior
      P2609R3C++20some requirements were defined in terms ofstd::iter_value_t<I>&
      which mishandled projections resulting in incompatibility with predicateF&
      defined in terms of/*indirect-value-t*/<I>
      to correctly handle such projections
      P2997R1C++20indirect_binary_predicate requiredF& to satisfypredicate with
      std::iter_common_reference_t<I>
      does not require
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/indirect_binary_predicate&oldid=175479"

      [8]ページ先頭

      ©2009-2025 Movatter.jp