N'est-ce pas std::span
conçu comme une référence légère aux sous-régions du tableaustd::vector
/ std::array
/ plain et similaires? Ne devrait-il pas également contenir des opérateurs de comparaison dans son API, pour être cohérent avec eux? Quel était le raisonnement derrière l'exclusion?
Note: par les opérateurs de comparaison, je veux dire soit l'ensemble ( <
, <=
, ...) ou le vaisseau spatial<=>
std::vector
et std::array
faire? Ils sont déjà définis comme ça pour ces types, alors pourquoi pas ici.
span
, mais le projet de norme actuel ne l'inclut pas.
gsl::span
ne (et a toujours fait) ont des opérateurs de comparaison. Ils les ont juste déplacés dans leur propre tête
operator==
est également manquant. Esp. pour le vecteur, je trouve souvent pratique de comparer directement. Cela pourrait être dû à des difficultés avec les types d'étendue de taille statique, bien que je ne sois pas sûr.