| 109 | } |
| 110 | |
| 111 | BytesValue Consume() && { |
| 112 | return absl::visit(absl::Overload( |
| 113 | [](String& string) -> BytesValue { |
| 114 | return BytesValue(string.arena, |
| 115 | std::move(string.target)); |
| 116 | }, |
| 117 | [](Cord& cord) -> BytesValue { |
| 118 | return BytesValue(cord.Consume()); |
| 119 | }), |
| 120 | AsVariant()); |
| 121 | } |
| 122 | |
| 123 | private: |
| 124 | struct String final { |