absl::variant, and related types
The corresponding headers are removed from cc files, but kept in
headers to prevent breakages from transitive dependencies.
PiperOrigin-RevId: 872421685
Change-Id: I867d4c3f7c9e422289c63816d44719b0530fb0a6
I.e. for a type `Example`, if
```
std::ostream& operator<<(std::ostream&, const Example&);
```
is declared, `absl::HasOstreamOperator<Example>::value` is `true`.
PiperOrigin-RevId: 574637891
Change-Id: I123d8f35a6e3ea894745133f7d81b1610fb475d5