operator==(std::layout_stride::mapping)
Von cppreference.com
< cpp | container | mdspan | layout stride | mapping
| template< class OtherMapping > friend constexpr bool operator==( const mapping& lhs, |
(seit C++23) | |
Vergleicht zwei Layout-Mappings von möglicherweise unterschiedlichen Layout-Typen anhand ihrer zugrunde liegenden Extents und Strides.
Die Layout-Mappings lhs und rhs sind gleich, wenn alle folgenden Bedingungen wahr sind:
- sowohl lhs.extents() als auch rhs.extents() sind gleich,
- OFFSET(rhs) ist gleich 0, und
- für jeden Rang-Index r im Bereich
[0,lhs.extents().rank()), ist lhs.stride(r) gleich rhs.stride(r)
Wobei OFFSET(rhs) gleich
- rhs() ist, wenn rhs.extents().rank() 0 ist,
- andernfalls 0, wenn die Größe des multidimensionalen Indexraums rhs.extents() 0 ist,
- andernfalls rhs(z...) für ein Pack von Ganzzahlen z, das ein multidimensionaler Index in rhs.extents() ist und jedes Element von z gleich 0 ist.
Dieser Überladungsaufruf nimmt nur an der Auflösung von Überladungsaufrufen teil, wenn alle folgenden Einschränkungen erfüllt sind:
- layout-mapping-alike <OtherMapping> erfüllt ist,
- rank_ == OtherMapping::extents_type::rank() ist wahr, und
- OtherMapping::is_always_strided() ist wahr
(rank_ ist eine exposition-only statische Member-Konstante, die in std::layout_stride::mapping definiert ist.)
Wenn OtherMapping die LayoutMapping-Anforderungen nicht erfüllt, ist das Verhalten undefiniert.
Inhalt |
[bearbeiten] Parameter
| lhs, rhs | - | Layout-Mappings, deren Extents und Strides verglichen werden sollen |
[bearbeiten] Rückgabewert
true, wenn lhs und rhs wie oben angegeben beide gleich sind, andernfalls false
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
vergleicht diese Layout-Abbildung von layout_left mit einer anderen Abbildung(function template) | |
vergleicht diese Layout-Abbildung von layout_right mit einer anderen Abbildung(function template) | |
| (C++23) |
vergleicht die zugrunde liegenden Ausdehnungen in jeder Dimension von zwei extents(function) |