25#include "abi/string.hpp"
26#include "abi/vector.hpp"
35 using nstring = std::wstring;
36 using nstring_view = std::wstring_view;
38 using nstring = std::string;
39 using nstring_view = std::string_view;
43namespace essence::internal {
44 std::string to_utf8_string(nstring_view str);
45 std::string to_utf8_string(std::u16string_view str);
46 std::string to_utf8_string(std::span<const std::uint16_t> literal);
47 nstring to_native_string(std::string_view utf8_str);
48 std::u16string to_utf16_string(std::string_view utf8_str);
49 std::vector<std::uint16_t> to_uint16_t_literal(std::string_view utf8_str);
58 ES_API(CPPESSENCE) abi::string to_utf8_string(nstring_view str);
65 ES_API(CPPESSENCE) abi::string to_utf8_string(std::u16string_view str);
72 ES_API(CPPESSENCE) abi::string to_utf8_string(std::span<const std::uint16_t> literal);
79 ES_API(CPPESSENCE) abi::nstring to_native_string(std::string_view utf8_str);
86 ES_API(CPPESSENCE) abi::u16string to_utf16_string(std::string_view utf8_str);
93 ES_API(CPPESSENCE) abi::vector<std::uint16_t> to_uint16_t_literal(std::string_view utf8_str);