operator== (std::layout_stride::mapping)
|
template
<
class
OtherMapping
>
friend
constexpr
bool
operator
==
(
const
mapping
&
lhs,
|
(seit C++23) | |
Vergleicht zwei Layout-Zuordnungen möglicherweise unterschiedlicher Layout-Typen basierend auf ihren zugrunde liegenden Extents und Strides.
Layout-Mappings lhs und rhs vergleichen gleich, wenn alle folgenden Bedingungen true sind:
- sowohl lhs. extents ( ) als auch rhs. extents ( ) gleich sind,
- OFFSET ( rhs ) gleich 0 ist, und
-
für jeden Rangindex
r
im Bereich
[ 0 ,lhs. extents ( ) . rank ( )), lhs. stride ( r ) gleich rhs. stride ( r ) ist
Wo OFFSET ( rhs ) gleich ist:
- rhs ( ) , falls rhs. extents ( ) . rank ( ) gleich 0 ist,
- andernfalls 0 , falls die Größe des mehrdimensionalen Indexraums rhs. extents ( ) gleich 0 ist,
- andernfalls rhs ( z... ) für eine Integer-Pack z , die ein mehrdimensionaler Index in rhs. extents ( ) ist und jedes Element von z gleich 0 ist.
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn alle der folgenden Bedingungen erfüllt sind:
- layout-mapping-alike < OtherMapping > erfüllt ist,
- rank_ == OtherMapping :: extents_type :: rank ( ) true ist, und
- OtherMapping :: is_always_strided ( ) true ist
( rank_ ist eine nur zur Darstellung dienende statische Member-Konstante, definiert in std :: layout_stride :: mapping .)
Wenn
OtherMapping
die
LayoutMapping
-Anforderungen nicht erfüllt, ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Parameter
| lhs, rhs | - | Layout-Mappings, deren Extents und Strides verglichen werden sollen |
Rückgabewert
true wenn lhs und rhs beide wie oben angegeben gleich sind, false andernfalls
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
vergleicht dieses Layout-Mapping von
layout_left
mit anderem Mapping
(Funktions-Template) |
|
vergleicht dieses Layout-Mapping von
layout_right
mit anderem Mapping
(Funktions-Template) |
|
|
(C++23)
|
vergleicht zugrundeliegende Extents in jeder Dimension zweier
extents
(Funktion) |