8 #include <unordered_map> 14 using ParamsMap = std::unordered_map<std::string, std::string>;
16 class NX_PLUGIN_API
Url 29 Url(
const std::string& url);
31 std::string scheme()
const;
32 std::string url()
const;
33 std::string hostPath()
const;
34 std::string host()
const;
35 std::string path()
const;
37 ParamsMap params()
const;
42 ParseState parseSome();
43 ParseState parseScheme();
44 ParseState parseHostPath();
45 ParseState parseParams();
46 ParseState parseParam();
48 void copyAndAdvance(std::string* target,
size_t endIndex);
49 ParseState checkAndAdvance(
const std::string& stringToCheck, ParseState nextState);
52 const std::string& m_url;