Commit b266f584 authored by Dominik Charousset's avatar Dominik Charousset

Add second overload to parse() for URI

parent 8b7c57aa
......@@ -22,6 +22,7 @@
#include <vector>
#include "caf/detail/comparable.hpp"
#include "caf/detail/parser/state.hpp"
#include "caf/detail/unordered_flat_map.hpp"
#include "caf/fwd.hpp"
#include "caf/intrusive_ptr.hpp"
......@@ -134,6 +135,10 @@ typename Inspector::result_type inspect(Inspector& f, uri::authority_type& x) {
/// @relates uri
std::string to_string(const uri& x);
/// @relates uri
/// @private
void parse(detail::parser::state<string_view::iterator> ps, uri& dest);
/// @relates uri
error parse(string_view str, uri& dest);
......
......@@ -101,6 +101,13 @@ std::string to_string(const uri& x) {
return result;
}
void parse(detail::parser::state<string_view::iterator> ps, uri& dest) {
uri_builder builder;
read_uri(ps, builder);
if (ps.code <= pec::trailing_character)
dest = builder.make();
}
error parse(string_view str, uri& dest) {
using namespace detail::parser;
uri_builder builder;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment