Namespaces
Variants

operator== (std::layout_stride::mapping)

From cppreference.net
template < class OtherMapping >

friend constexpr bool operator == ( const mapping & lhs,

const OtherMapping & rhs ) noexcept ;
(depuis C++23)

Compare deux mappages de disposition de types de disposition potentiellement différents sur la base de leurs étendues et pas sous-jacents.

Les mappages de disposition lhs et rhs sont égaux si toutes les conditions suivantes sont true :

  • les deux lhs. extents ( ) et rhs. extents ( ) sont égaux,
  • OFFSET ( rhs ) est égal à 0 , et
  • pour chaque indice de rang r dans l'intervalle [ 0 , lhs. extents ( ) . rank ( ) ) , lhs. stride ( r ) est égal à rhs. stride ( r )

OFFSET ( rhs ) est égal à :

  • rhs ( ) , si rhs. extents ( ) . rank ( ) est 0 ,
  • sinon 0 , si la taille de l'espace d'index multidimensionnel rhs. extents ( ) est 0 ,
  • sinon rhs ( z... ) pour un ensemble d'entiers z qui est un index multidimensionnel dans rhs. extents ( ) et chaque élément de z est égal à 0 .

Cette surcharge participe à la résolution de surcharge seulement si toutes les contraintes suivantes sont satisfaites :

  • layout-mapping-alike < OtherMapping > est satisfait,
  • rank_ == OtherMapping :: extents_type :: rank ( ) est true , et
  • OtherMapping :: is_always_strided ( ) est true

( rank_ est une constante membre statique d'exposition uniquement définie dans std :: layout_stride :: mapping .)

Si OtherMapping ne satisfait pas aux LayoutMapping exigences, le comportement est indéfini.

Table des matières

Paramètres

lhs, rhs - mappages de disposition dont les étendues et les pas doivent être comparés

Valeur de retour

true si lhs et rhs sont tous deux égaux comme spécifié ci-dessus, false sinon

Exemple

Voir aussi

compare ce mappage de disposition de layout_left avec un autre mappage
(modèle de fonction)
compare ce mappage de disposition de layout_right avec un autre mappage
(modèle de fonction)
(C++23)
compare les dimensions sous-jacentes dans chaque dimension de deux extents
(fonction)