GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 73.3% 33 / 0 / 45
Functions: 75.0% 3 / 1 / 5
Branches: 61.9% 13 / 0 / 21

libs/url/include/boost/url/grammar/impl/optional_rule.hpp
Line Branch Exec Source
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 #ifndef BOOST_URL_GRAMMAR_IMPL_OPTIONAL_RULE_HPP
11 #define BOOST_URL_GRAMMAR_IMPL_OPTIONAL_RULE_HPP
12
13 #include <boost/url/grammar/error.hpp>
14
15 namespace boost {
16 namespace urls {
17 namespace grammar {
18
19 template<class R>
20 auto
21 4011 implementation_defined::optional_rule_t<R>::
22 parse(
23 char const*& it,
24 char const* end) const ->
25 system::result<value_type>
26 {
27
5/8
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::token_rule_t<boost::urls::grammar::implementation_defined::alpha_chars_t> >::parse(char const*&, char const*) const:
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::tuple_rule_t<boost::urls::detail::userinfo_rule_t, boost::urls::grammar::implementation_defined::squelch_rule_t<boost::urls::grammar::implementation_defined::ch_delim_rule> > >::parse(char const*&, char const*) const:
✓ Branch 0 taken 86 times.
✓ Branch 1 taken 1850 times.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::tuple_rule_t<boost::urls::grammar::implementation_defined::squelch_rule_t<boost::urls::grammar::implementation_defined::ch_delim_rule>, boost::urls::grammar::unsigned_rule<unsigned short> > >::parse(char const*&, char const*) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::variant_rule_t<boost::urls::detail::identifier_rule_t, boost::urls::grammar::unsigned_rule<unsigned long> > >::parse(char const*&, char const*) const:
✗ Branch 0 not taken.
✗ Branch 1 not taken.
4011 if(it == end)
28 256 return boost::none;
29 3755 auto const it0 = it;
30 auto rv =
31
0/1
✗ Branch 2 not taken.
3755 this->get().parse(it, end);
32
5/8
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::token_rule_t<boost::urls::grammar::implementation_defined::alpha_chars_t> >::parse(char const*&, char const*) const:
✓ Branch 1 taken 1 time.
✓ Branch 2 taken 1 time.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::tuple_rule_t<boost::urls::detail::userinfo_rule_t, boost::urls::grammar::implementation_defined::squelch_rule_t<boost::urls::grammar::implementation_defined::ch_delim_rule> > >::parse(char const*&, char const*) const:
✓ Branch 1 taken 381 times.
✓ Branch 2 taken 1469 times.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::tuple_rule_t<boost::urls::grammar::implementation_defined::squelch_rule_t<boost::urls::grammar::implementation_defined::ch_delim_rule>, boost::urls::grammar::unsigned_rule<unsigned short> > >::parse(char const*&, char const*) const:
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::variant_rule_t<boost::urls::detail::identifier_rule_t, boost::urls::grammar::unsigned_rule<unsigned long> > >::parse(char const*&, char const*) const:
✗ Branch 1 not taken.
✗ Branch 2 not taken.
3755 if(rv)
33
3/4
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::token_rule_t<boost::urls::grammar::implementation_defined::alpha_chars_t> >::parse(char const*&, char const*) const:
✓ Branch 2 taken 1 time.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::tuple_rule_t<boost::urls::detail::userinfo_rule_t, boost::urls::grammar::implementation_defined::squelch_rule_t<boost::urls::grammar::implementation_defined::ch_delim_rule> > >::parse(char const*&, char const*) const:
✓ Branch 2 taken 381 times.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::tuple_rule_t<boost::urls::grammar::implementation_defined::squelch_rule_t<boost::urls::grammar::implementation_defined::ch_delim_rule>, boost::urls::grammar::unsigned_rule<unsigned short> > >::parse(char const*&, char const*) const:
✓ Branch 2 taken 2 times.
boost::urls::grammar::implementation_defined::optional_rule_t<boost::urls::grammar::implementation_defined::variant_rule_t<boost::urls::detail::identifier_rule_t, boost::urls::grammar::unsigned_rule<unsigned long> > >::parse(char const*&, char const*) const:
✗ Branch 2 not taken.
1538 return value_type(*rv);
34 2217 it = it0;
35 2217 return boost::none;
36 }
37
38 } // grammar
39 } // urls
40 } // boost
41
42 #endif
43