| 1479 | }; |
| 1480 | |
| 1481 | class ascii final : public charset { |
| 1482 | public: |
| 1483 | std::u32string local2wide(const std::deque<char> &local) override |
| 1484 | { |
| 1485 | return std::u32string(local.begin(), local.end()); |
| 1486 | } |
| 1487 | |
| 1488 | std::u32string local2wide(std::string_view local) override |
| 1489 | { |
| 1490 | return std::u32string(local.begin(), local.end()); |
| 1491 | } |
| 1492 | |
| 1493 | std::string wide2local(const std::u32string &wide) override |
| 1494 | { |
| 1495 | return std::string(wide.begin(), wide.end()); |
| 1496 | } |
| 1497 | |
| 1498 | bool is_identifier(char32_t ch) override |
| 1499 | { |
| 1500 | return ch == '_' || std::iswalnum(ch); |
| 1501 | } |
| 1502 | }; |
| 1503 | |
| 1504 | class utf8 final : public charset { |
| 1505 | public: |
nothing calls this directly
no outgoing calls
no test coverage detected