libs/url/src/grammar/delim_rule.cpp

100.0% Lines (7/7) 100.0% Functions (1/1) 100.0% Branches (4/4)
libs/url/src/grammar/delim_rule.cpp
Line Branch Hits 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 8774 implementation_defined::ch_delim_rule::
21 parse(
22 char const*& it,
23 char const* end) const noexcept ->
24 system::result<value_type>
25 {
26
2/2
✓ Branch 0 taken 1171 times.
✓ Branch 1 taken 7603 times.
8774 if(it == end)
27 {
28 // end
29 1171 BOOST_URL_RETURN_EC(
30 error::need_more);
31 }
32
2/2
✓ Branch 0 taken 2581 times.
✓ Branch 1 taken 5022 times.
7603 if(*it != ch_)
33 {
34 // wrong character
35 2581 BOOST_URL_RETURN_EC(
36 error::mismatch);
37 }
38 5022 return core::string_view{
39 5022 it++, 1 };
40 };
41
42 } // grammar
43 } // urls
44 } // boost
45
46