tree c6c49222e1748e27a16d5732673c7f17514a6ebf
parent 20c3086ad39e966c0c3630b9957871b2afc71cbd
author bnc <bnc@google.com> 1625837272 -0700
committer Copybara-Service <copybara-worker@google.com> 1625837337 -0700

Remove QuicInlinedVector from platform.

Internally, it was defined as absl::InlinedVector and a custom printer was added
(which this CL removes).

In Envoy, it was defined as absl::InlinedVector and a custom printer was added:
https://github.com/envoyproxy/envoy/blob/40a656d36244652b7afd97c7d8492f643c94283d/source/common/quic/platform/quic_containers_impl.h#L51-L65

In Chromium, it was defined as std::vector, and I don't see the printer (maybe
there's one in STL?).

This CL removes QuicInlinedVector, inlines absl::InlinedVector, and adds
quiche::PrintElements() to QUICHE, so that embedders do not have to provide
their custom printers.  PrintElements() is based on the Envoy custom printer
implementation.  However, I'm adding a helper function with std::string return
value instead of an operator<<() override because
  1. an operator<<() override would need to live in either std or absl
     namespace, and it is not nice to add stuff to library namespaces;
  2. if Abseil ever adds an official operator<<() override, that would cause a
     clash immediately, and it would be some amount of work to resolve it while
     the override get upstreamed to public Abseil (internal code uses internal,
     source-of-truth Abseil, other QUICHE embedders use public Abseil, so QUICHE
     needs to work with both at the same time until new operator<<() gets merged
     to public Abseil and that public Abseil gets rolled into QUICHE embedders).
PiperOrigin-RevId: 383833970
