| 106 | } |
| 107 | |
| 108 | StaticStringUTF8Storage StaticString::utf8Storage() const { |
| 109 | switch (encoding()) { |
| 110 | case StaticString::Encoding::UTF8: |
| 111 | return StaticStringUTF8Storage(utf8Data(), size()); |
| 112 | case StaticString::Encoding::UTF16: { |
| 113 | auto pair = utf16ToUtf8(utf16Data(), size()); |
| 114 | return StaticStringUTF8Storage(pair.first, pair.second); |
| 115 | } |
| 116 | case StaticString::Encoding::UTF32: { |
| 117 | auto pair = utf32ToUtf8(reinterpret_cast<const uint32_t*>(utf32Data()), size()); |
| 118 | return StaticStringUTF8Storage(pair.first, pair.second); |
| 119 | } |
| 120 | } |
| 121 | } |
| 122 | |
| 123 | StaticStringUTF16Storage StaticString::utf16Storage() const { |
| 124 | switch (encoding()) { |