Do not use iterators in ParsedQuicVersionIsValid
This CL fixes a Chrome merge. The issue is that Chrome uses C++14 whereas g3 uses C++17, and std::array::begin() is only constexpr starting in C++17.
gfe-relnote: n/a, no behavior change
PiperOrigin-RevId: 301399514
Change-Id: I2a86e234950d35ff6022285eb592cbd4576881f8
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h
index bf6c39b..8739326 100644
--- a/quic/core/quic_versions.h
+++ b/quic/core/quic_versions.h
@@ -172,7 +172,10 @@
transport_version == QUIC_VERSION_UNSUPPORTED ||
transport_version == QUIC_VERSION_RESERVED_FOR_NEGOTIATION;
if (!transport_version_is_valid) {
- for (QuicTransportVersion trans_vers : SupportedTransportVersions()) {
+ // Iterators are not constexpr in C++14 which Chrome uses.
+ constexpr auto supported_transport_versions = SupportedTransportVersions();
+ for (size_t i = 0; i < supported_transport_versions.size(); ++i) {
+ const QuicTransportVersion& trans_vers = supported_transport_versions[i];
if (trans_vers == transport_version) {
transport_version_is_valid = true;
break;