Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::indirect_unary_predicate

      From cppreference.com
      <cpp‎ |iterator
       
       
      Iterator library
      Iterator concepts
      Iterator primitives
      Algorithm concepts and utilities
      Indirect callable concepts
      indirect_unary_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 I>

      concept indirect_unary_predicate=
         std::indirectly_readable<I>&&
         std::copy_constructible<F>&&
         std::predicate<F&,/*indirect-value-t*/<I>>&&

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

      The conceptindirect_unary_predicate specifies requirements for algorithms that call unary predicates as their arguments. The key difference between this concept andstd::predicate is that it is applied to the type thatI references, rather thanI itself.

      [edit]Defect reports

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

      DRApplied toBehavior as publishedCorrect behavior
      P2609R3C++20one of the requirements was 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_unary_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_unary_predicate&oldid=175478"

      [8]ページ先頭

      ©2009-2025 Movatter.jp