LCOV - code coverage report
Current view: top level - boost/buffers/impl - const_buffer_span.hpp (source / functions) Hit Total Coverage
Test: coverage_filtered.info Lines: 16 16 100.0 %
Date: 2024-04-15 19:09:26 Functions: 4 4 100.0 %

          Line data    Source code
       1             : //
       2             : // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.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/cppalliance/buffers
       8             : //
       9             : 
      10             : #ifndef BOOST_BUFFERS_IMPL_CONST_BUFFER_SPAN_HPP
      11             : #define BOOST_BUFFERS_IMPL_CONST_BUFFER_SPAN_HPP
      12             : 
      13             : namespace boost {
      14             : namespace buffers {
      15             : 
      16             : const_buffer_subspan
      17      139638 : const_buffer_span::
      18             : prefix_impl(
      19             :     std::size_t n) const noexcept
      20             : {
      21      279276 :     return const_buffer_subspan(
      22      139638 :         *this).prefix_impl(n);
      23             : }
      24             : 
      25             : const_buffer_subspan
      26      139638 : const_buffer_span::
      27             : suffix_impl(
      28             :     std::size_t n) const noexcept
      29             : {
      30      279276 :     return const_buffer_subspan(
      31      139638 :         *this).suffix_impl(n);
      32             : }
      33             : 
      34             : //-----------------------------------------------
      35             : 
      36             : // here because circular dependency
      37      279278 : const_buffer_subspan::
      38             : const_buffer_subspan(
      39      279278 :     const_buffer_span const& s) noexcept
      40      279278 :     : p_(s.p_)
      41      279278 :     , n_(s.n_)
      42      279278 :     , p1_([&]() -> std::size_t
      43             :         {
      44      279278 :             if(n_ > 0)
      45      279277 :                 return p_[n_-1].size();
      46           1 :             return 0;
      47      279278 :         }())
      48             : {
      49      279278 : }
      50             : 
      51             : 
      52             : } // buffers
      53             : } // boost
      54             : 
      55             : #endif

Generated by: LCOV version 1.15