GCC Code Coverage Report


Directory: libs/url/
File: boost/url/grammar/impl/token_rule.hpp
Date: 2024-03-15 21:27:27
Exec Total Coverage
Lines: 8 8 100.0%
Functions: 7 7 100.0%
Branches: 4 4 100.0%

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/http_proto
8 //
9
10 #ifndef BOOST_URL_IMPL_GRAMMAR_TOKEN_RULE_HPP
11 #define BOOST_URL_IMPL_GRAMMAR_TOKEN_RULE_HPP
12
13 #include <boost/url/grammar/error.hpp>
14
15 namespace boost {
16 namespace urls {
17 namespace grammar {
18
19 template<class CharSet>
20 auto
21 627 token_rule_t<CharSet>::
22 parse(
23 char const*& it,
24 char const* end
25 ) const noexcept ->
26 system::result<value_type>
27 {
28 627 auto const it0 = it;
29
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 608 times.
627 if(it == end)
30 {
31 4 BOOST_URL_RETURN_EC(
32 error::need_more);
33 }
34 623 it = (find_if_not)(it, end, cs_);
35
2/2
✓ Branch 0 taken 560 times.
✓ Branch 1 taken 48 times.
623 if(it != it0)
36 575 return core::string_view(it0, it - it0);
37 48 BOOST_URL_RETURN_EC(
38 error::mismatch);
39 }
40
41 } // grammar
42 } // urls
43 } // boost
44
45 #endif
46