25 #include <boost/algorithm/string.hpp>
34 std::string::const_iterator first = v.begin();
36 if (!
parse(first, v.end(), *
this, &endc) || first != v.end() || endc)
37 throw std::invalid_argument(
"invalid URI scheme: \"" + v +
"\"");
39 bool parse(std::string::const_iterator& first, std::string::const_iterator last,
scheme& v,
char* endc) {
friend bool TECOMMONEXPORT parse(std::string::const_iterator &first, std::string::const_iterator last, scheme &v, char *endc)
Parse URI scheme, returning whether found or not and advancing first and setting scheme and end char ...
bool parse(std::string::const_iterator &first, std::string::const_iterator last, authority &v)
Parse URI authority, returning whether found or not and advancing first and setting authority if foun...
bool parse(const traits &ts, std::string::const_iterator &first, std::string::const_iterator last, std::string &comp, char *endc)
Parse the URI componet, returning whether successful and setting the string and end char and advancin...
const traits SCHEME_TRAITS
scheme traits