Non è stato std::span
progettato come un riferimento leggero alle sottoregioni di std::vector
/ std::array
/ plain array e simili? Non dovrebbe contenere anche operatori di confronto nella sua API, per essere coerenti con loro? Qual è stato il ragionamento alla base dell'esclusione?
Nota: per gli operatori di confronto, intendo sia il set completo ( <
, <=
, ...) o l'astronave<=>
std::vector
e std::array
fare? Sono definiti proprio così per quei tipi già, quindi perché non qui.
gsl::span
ha (e ha sempre fatto) operatori di confronto. Li hanno appena spostati nella loro intestazione
operator==
manca anche. Esp. per il vettore trovo spesso conveniente confrontare direttamente. Potrebbe essere dovuto a difficoltà forse con i tipi di span di dimensione statica, anche se non sono sicuro.