LCOV - code coverage report
Current view: top level - libs/url/src/url_view.cpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 24 24
Test Date: 2025-01-10 18:07:09 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         3552 : url_impl::
      24              : construct() const noexcept
      25              : {
      26         3552 :     return url_view(*this);
      27              : }
      28              : 
      29              : } // detail
      30              : 
      31              : //------------------------------------------------
      32              : 
      33           32 : url_view::
      34              : url_view() noexcept = default;
      35              : 
      36          269 : url_view::
      37          269 : url_view(core::string_view s)
      38          269 :     : url_view(parse_uri_reference(s
      39          269 :         ).value(BOOST_URL_POS))
      40              : {
      41          268 : }
      42              : 
      43        15805 : url_view::
      44              : url_view(
      45        15805 :     url_view_base const& u) noexcept
      46        15805 :     : url_view_base(u.impl_)
      47              : {
      48        15805 :     if (u.pi_->from_ == from::url)
      49              :     {
      50          146 :         pi_ = u.pi_;
      51              :     }
      52              :     else
      53              :     {
      54        15659 :         impl_ = u.impl_;
      55        15659 :         pi_ = &impl_;
      56              :     }
      57        15805 : }
      58              : 
      59              : url_view&
      60           14 : url_view::
      61              : operator=(
      62              :     url_view_base const& u) noexcept
      63              : {
      64           14 :     if (pi_ == u.pi_)
      65            1 :         return *this;
      66              : 
      67           13 :     if (u.pi_->from_ == from::url)
      68              :     {
      69            1 :         pi_ = u.pi_;
      70              :     }
      71              :     else
      72              :     {
      73           12 :         impl_ = u.impl_;
      74           12 :         pi_ = &impl_;
      75              :     }
      76           13 :     return *this;
      77              : }
      78              : 
      79              : } // urls
      80              : } // boost
      81              : 
        

Generated by: LCOV version 2.1