Namensräume
Varianten
Aktionen

std::indirect_strict_weak_order

Von cppreference.com
< cpp‎ | iterator
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
indirect_strict_weak_order
(C++20)
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(C++20)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
Definiert 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>>;
(seit C++20)

Das Konzept indirect_strict_weak_order spezifiziert Anforderungen an Algorithmen, die strenge schwache Ordnungen als Argumente aufrufen. Der Hauptunterschied zwischen diesem Konzept und std::strict_weak_order besteht darin, dass es auf die Typen angewendet wird, auf die I1 und I2 verweisen, anstatt auf I1 und I2 selbst.

[bearbeiten] Defect reports

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
P2609R3 C++20 Einige Anforderungen wurden in Bezug auf definiert
std::iter_value_t<I>& was Projektionen falsch behandelte
was zu Inkompatibilität mit strenge schwache Ordnung führte F&
definiert in Bezug auf
/*indirect-value-t*/<I> zu
solche Projektionen korrekt zu behandeln
P2997R1 C++20 indirect_strict_weak_order erforderte, dass F& erfüllt
strict_weak_order mit std::iter_common_reference_t<I>
erfordert nicht