Line data Source code
1 : //
2 : // Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
3 : //
4 : // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 : //
7 : // Official repository: https://github.com/boostorg/url
8 : //
9 :
10 :
11 : #include <boost/url/detail/config.hpp>
12 : #include <boost/url/detail/config.hpp>
13 : #include <boost/url/grammar/delim_rule.hpp>
14 :
15 : namespace boost {
16 : namespace urls {
17 : namespace grammar {
18 :
19 : auto
20 8222 : ch_delim_rule::
21 : parse(
22 : char const*& it,
23 : char const* end) const noexcept ->
24 : system::result<value_type>
25 : {
26 8222 : if(it == end)
27 : {
28 : // end
29 1114 : BOOST_URL_RETURN_EC(
30 : error::need_more);
31 : }
32 7108 : if(*it != ch_)
33 : {
34 : // wrong character
35 2372 : BOOST_URL_RETURN_EC(
36 : error::mismatch);
37 : }
38 4736 : return core::string_view{
39 4736 : it++, 1 };
40 : };
41 :
42 : } // grammar
43 : } // urls
44 : } // boost
45 :
|