39 ES_API(CPPESSENCE)
uri();
40 ES_API(CPPESSENCE)
uri(std::string_view uri_str);
42 template <std::convertible_to<std::
string_view> S>
43 requires(!std::same_as<std::decay_t<S>, std::string_view>)
44 uri(S&& uri_str) :
uri{std::string_view{std::forward<S>(uri_str)}} {}
46 ES_API(CPPESSENCE)
uri(
const uri& other);
47 ES_API(CPPESSENCE)
uri(
uri&&)
noexcept;
48 ES_API(CPPESSENCE)
~uri();
49 ES_API(CPPESSENCE)
uri& operator=(
const uri& right);
50 ES_API(CPPESSENCE)
uri& operator=(
uri&&)
noexcept;
51 ES_API(CPPESSENCE)
bool operator==(
const uri& right)
const;
52 ES_API(CPPESSENCE)
bool operator!=(
const uri& right)
const;
53 ES_API(CPPESSENCE) abi::string str()
const;
54 ES_API(CPPESSENCE) abi::nstring native_str()
const;
55 ES_API(CPPESSENCE)
bool empty()
const;
56 ES_API(CPPESSENCE) abi::string scheme()
const;
57 ES_API(CPPESSENCE) abi::string user_info()
const;
58 ES_API(CPPESSENCE) abi::string host()
const;
59 ES_API(CPPESSENCE) std::int32_t port()
const;
60 ES_API(CPPESSENCE) abi::string path()
const;
61 ES_API(CPPESSENCE) abi::string query()
const;
62 ES_API(CPPESSENCE) abi::string fragment()
const;
63 ES_API(CPPESSENCE) abi::vector<abi::string> split_path()
const;
64 ES_API(CPPESSENCE) abi::map<abi::string, abi::string> split_query()
const;
65 ES_API(CPPESSENCE) abi::string resolve_uri(std::string_view relative_uri)
const;
70 std::unique_ptr<impl> impl_;