20 enum class Type : uint8_t {
26 static URI from_any(std::string_view uri);
27 static URI from_ipv4(std::string_view uri);
28 static URI from_ipv6(std::string_view uri);
29 static URI from_domain(std::string_view uri);
33 bool operator==(
const URI& a)
const {
return m_type == a.m_type && m_host == a.m_host && m_port == a.m_port; }
37 const std::string&
host()
const {
return m_host; }
39 uint16_t
port()
const {
return m_port; }
45 const std::string m_host;
46 const uint16_t m_port;