LCOV - code coverage report
Current view: top level - libs/url/src/url_view.cpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 95.8 % 24 23
Test Date: 2024-08-20 16:05:53 Functions: 100.0 % 5 5

            Line data    Source code
       1              : //
       2              : // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
       3              : // Copyright (c) 2022 Alan de Freitas (alandefreitas@gmail.com)
       4              : //
       5              : // Distributed under the Boost Software License, Version 1.0. (See accompanying
       6              : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       7              : //
       8              : // Official repository: https://github.com/boostorg/url
       9              : //
      10              : 
      11              : 
      12              : #include <boost/url/detail/config.hpp>
      13              : #include <boost/url/url_view.hpp>
      14              : #include <boost/url/parse.hpp>
      15              : #include <boost/url/detail/except.hpp>
      16              : 
      17              : namespace boost {
      18              : namespace urls {
      19              : 
      20              : namespace detail {
      21              : 
      22              : url_view
      23         3540 : url_impl::
      24              : construct() const noexcept
      25              : {
      26         3540 :     return url_view(*this);
      27              : }
      28              : 
      29              : } // detail
      30              : 
      31              : //------------------------------------------------
      32              : 
      33           31 : url_view::
      34              : url_view() noexcept = default;
      35              : 
      36          268 : url_view::
      37          268 : url_view(core::string_view s)
      38          268 :     : url_view(parse_uri_reference(s
      39          268 :         ).value(BOOST_URL_POS))
      40              : {
      41          267 : }
      42              : 
      43        15771 : url_view::
      44              : url_view(
      45        15771 :     url_view_base const& u) noexcept
      46        15771 :     : url_view_base(u.impl_)
      47              : {
      48        15771 :     if (u.pi_->from_ == from::url)
      49              :     {
      50          145 :         pi_ = u.pi_;
      51              :     }
      52              :     else
      53              :     {
      54        15626 :         impl_ = u.impl_;
      55        15626 :         pi_ = &impl_;
      56              :     }
      57        15771 : }
      58              : 
      59              : url_view&
      60           13 : url_view::
      61              : operator=(
      62              :     url_view_base const& u) noexcept
      63              : {
      64           13 :     if (pi_ == u.pi_)
      65            1 :         return *this;
      66              : 
      67           12 :     if (u.pi_->from_ == from::url)
      68              :     {
      69            0 :         pi_ = u.pi_;
      70              :     }
      71              :     else
      72              :     {
      73           12 :         impl_ = u.impl_;
      74           12 :         pi_ = &impl_;
      75              :     }
      76           12 :     return *this;
      77              : }
      78              : 
      79              : } // urls
      80              : } // boost
      81              : 
        

Generated by: LCOV version 2.1