Czy nie zostało std::span
zaprojektowane jako lekkie odniesienie do podregionów std::vector
/ std::array
/ plain array i podobnych? Czy nie powinien zawierać operatorów porównania w interfejsie API, aby był z nimi spójny? Jakie było uzasadnienie wyłączenia?
Uwaga: przez operatorów porównania, to znaczy albo pełny zestaw ( <
, <=
...) lub statek kosmiczny<=>
std::vector
i std::array
zrobić? Są już tak zdefiniowane dla tych typów, więc dlaczego nie tutaj.
span
, ale obecny projekt standardu go nie obejmuje.
gsl::span
ma (i zawsze miał) operatory porównania. Po prostu przenieśli je do własnego nagłówka
operator==
brakuje również. Esp. dla wektora często uważam, że wygodne jest bezpośrednie porównywanie. Może to być spowodowane problemami z typowymi rozpiętościami wielkości, chociaż nie jestem pewien.