Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::indirect_strict_weak_order

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

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

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

      The conceptindirect_strict_weak_order specifies requirements for algorithms that call strict weak orders as their arguments. The key difference between this concept andstd::strict_weak_order 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 of
      std::iter_value_t<I>& which mishandled projections
      resulting in incompatibility with strict weak orderF&
      defined in terms of
      /*indirect-value-t*/<I> to
      correctly handle such projections
      P2997R1C++20indirect_strict_weak_order requiredF& to satisfy
      strict_weak_order withstd::iter_common_reference_t<I>
      does not require
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/indirect_strict_weak_order&oldid=177045"

      [8]ページ先頭

      ©2009-2025 Movatter.jp