LCOV - code coverage report
Current view: top level - libs/url/src/segments_encoded_base.cpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 27 27
Test Date: 2024-08-19 20:08:54 Functions: 100.0 % 10 10

            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/segments_encoded_base.hpp>
      14              : #include <boost/assert.hpp>
      15              : #include <ostream>
      16              : 
      17              : namespace boost {
      18              : namespace urls {
      19              : 
      20         1710 : segments_encoded_base::
      21              : iterator::
      22              : iterator(
      23         1710 :     detail::path_ref const& ref) noexcept
      24         1710 :     : it_(ref)
      25              : {
      26         1710 : }
      27              : 
      28         1417 : segments_encoded_base::
      29              : iterator::
      30              : iterator(
      31              :     detail::path_ref const& ref,
      32         1417 :     int) noexcept
      33         1417 :     : it_(ref, 0)
      34              : {
      35         1417 : }
      36              : 
      37              : //------------------------------------------------
      38              : //
      39              : // segments_encoded_base
      40              : //
      41              : //------------------------------------------------
      42              : 
      43         1296 : segments_encoded_base::
      44              : segments_encoded_base(
      45         1296 :     detail::path_ref const& ref) noexcept
      46         1296 :     : ref_(ref)
      47              : {
      48         1296 : }
      49              : 
      50              : //------------------------------------------------
      51              : //
      52              : // Observers
      53              : //
      54              : //------------------------------------------------
      55              : 
      56              : pct_string_view
      57           47 : segments_encoded_base::
      58              : buffer() const noexcept
      59              : {
      60           47 :     return ref_.buffer();
      61              : }
      62              : 
      63              : bool
      64          373 : segments_encoded_base::
      65              : is_absolute() const noexcept
      66              : {
      67          373 :     return ref_.buffer().starts_with('/');
      68              : }
      69              : 
      70              : bool
      71          582 : segments_encoded_base::
      72              : empty() const noexcept
      73              : {
      74          582 :     return ref_.nseg() == 0;
      75              : }
      76              : 
      77              : std::size_t
      78          413 : segments_encoded_base::
      79              : size() const noexcept
      80              : {
      81          413 :     return ref_.nseg();
      82              : }
      83              : 
      84              : auto
      85         1710 : segments_encoded_base::
      86              : begin() const noexcept ->
      87              :     iterator
      88              : {
      89         1710 :     return iterator(ref_);
      90              : }
      91              : 
      92              : auto
      93         1417 : segments_encoded_base::
      94              : end() const noexcept ->
      95              :     iterator
      96              : {
      97         1417 :     return iterator(ref_, 0);
      98              : }
      99              : 
     100              : //------------------------------------------------
     101              : 
     102              : std::ostream&
     103           15 : operator<<(
     104              :     std::ostream& os,
     105              :     segments_encoded_base const& ps)
     106              : {
     107           15 :     os << ps.buffer();
     108           15 :     return os;
     109              : }
     110              : 
     111              : } // urls
     112              : } // boost
     113              : 
        

Generated by: LCOV version 2.1