LCOV - code coverage report
Current view: top level - libs/url/src/rfc/uri_reference_rule.cpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 10 10
Test Date: 2024-07-10 02:48:26 Functions: 100.0 % 1 1

            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/rfc/uri_reference_rule.hpp>
      13              : #include <boost/url/rfc/uri_rule.hpp>
      14              : #include <boost/url/rfc/relative_ref_rule.hpp>
      15              : #include <boost/url/grammar/parse.hpp>
      16              : #include <boost/url/grammar/variant_rule.hpp>
      17              : #include <boost/variant2/variant.hpp>
      18              : 
      19              : namespace boost {
      20              : namespace urls {
      21              : 
      22              : auto
      23         2494 : uri_reference_rule_t::
      24              : parse(
      25              :     char const*& it,
      26              :     char const* const end
      27              :         ) const noexcept ->
      28              :     system::result<value_type>
      29              : {
      30              :     auto rv = grammar::parse(
      31              :         it, end,
      32         2494 :         grammar::variant_rule(
      33              :             uri_rule,
      34         2494 :             relative_ref_rule));
      35         2494 :     if(! rv)
      36           41 :         return rv.error();
      37         2453 :     switch(rv->index())
      38              :     {
      39         1301 :     default:
      40              :     case 0:
      41         1301 :         return boost::variant2::get<0>(*rv);
      42         1152 :     case 1:
      43         1152 :         return boost::variant2::get<1>(*rv);
      44              :     }
      45              : }
      46              : 
      47              : } // urls
      48              : } // boost
      49              : 
        

Generated by: LCOV version 2.1