include/boost/capy/buffers/buffer_copy.hpp

95.3% Lines (202/212) 100.0% List of functions (10/11) 70.5% Branches (141/200)
f(x) Functions (11)
Function Calls Lines Branches Blocks
<unknown function 45> :45 unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const :45 0 100.0% 100.0% unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const :45 0 100.0% 75.0% unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const :45 0 100.0% 87.5% unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const :45 0 100.0% 87.5% unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const :45 0 100.0% 87.5% boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const :67 0 95.0% 80.0% boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const::{lambda()#1}::operator()() const :67 0 75.0% 50.0% boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const :67 0 95.0% 80.0% boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const :67 0 90.0% 70.0% boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const :67 0 95.0% 80.0%
Line Branch TLA Hits 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/capy
8 //
9
10 #ifndef BOOST_CAPY_BUFFERS_BUFFER_COPY_HPP
11 #define BOOST_CAPY_BUFFERS_BUFFER_COPY_HPP
12
13 #include <boost/capy/detail/config.hpp>
14 #include <boost/capy/buffers.hpp>
15 #include <cstring>
16 #include <utility>
17
18 namespace boost {
19 namespace capy {
20
21 /** Copy the contents of a buffer sequence into another buffer sequence.
22
23 This function copies bytes from the constant buffer sequence `src` into
24 the mutable buffer sequence `dest`, stopping when any limit is reached.
25
26 @par Constraints
27 @code
28 MutableBufferSequence<decltype(dest)> &&
29 ConstBufferSequence<decltype(src)>
30 @endcode
31
32 @return The number of bytes copied, equal to
33 `std::min(size(dest), size(src), at_most)`.
34
35 @param dest The destination buffer sequence.
36 @param src The source buffer sequence.
37 @param at_most The maximum bytes to copy. Default copies all available.
38 */
39 constexpr struct buffer_copy_mrdocs_workaround_t
40 {
41 template<
42 MutableBufferSequence MB,
43 ConstBufferSequence CB>
44 std::size_t
45 15250x operator()(
46 MB const& dest,
47 CB const& src,
48 std::size_t at_most = std::size_t(-1)) const noexcept
49 {
50 15250x std::size_t total = 0;
51 15250x std::size_t pos0 = 0;
52 15250x std::size_t pos1 = 0;
53 15250x auto const end0 = end(src);
54 15250x auto const end1 = end(dest);
55 15250x auto it0 = begin(src);
56 15250x auto it1 = begin(dest);
57 15250x while(
58
6/6
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const:
✓ Branch 0 taken 278 times.
✓ Branch 1 taken 104 times.
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const:
✓ Branch 0 taken 838 times.
✓ Branch 1 taken 596 times.
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const:
✓ Branch 0 taken 879 times.
✓ Branch 1 taken 219 times.
46651x total < at_most &&
59
25/30
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const:
✓ Branch 0 taken 382 times.
✓ Branch 1 taken 166 times.
✓ Branch 2 taken 274 times.
✓ Branch 3 taken 4 times.
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const:
✓ Branch 0 taken 1434 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 838 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 838 times.
✓ Branch 6 taken 596 times.
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const:
✓ Branch 0 taken 299 times.
✓ Branch 1 taken 45 times.
✓ Branch 3 taken 257 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 257 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 257 times.
✓ Branch 8 taken 87 times.
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const:
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 120 times.
✓ Branch 3 taken 180 times.
✓ Branch 4 taken 60 times.
✓ Branch 5 taken 180 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 180 times.
✓ Branch 8 taken 180 times.
unsigned long boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const:
✓ Branch 0 taken 1098 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 633 times.
✓ Branch 3 taken 465 times.
67096x it0 != end0 &&
60
2/2
✓ Branch 1 taken 633 times.
✓ Branch 2 taken 246 times.
9398x it1 != end1)
61 {
62 25457x const_buffer b0 = *it0;
63 25457x mutable_buffer b1 = *it1;
64 25457x b0 += pos0;
65 25457x b1 += pos1;
66 std::size_t const amount =
67 76371x [&]
68 {
69 25457x std::size_t n = b0.size();
70
47/66
<unknown function 45>:
✓ Branch 1 taken 6 times.
✓ Branch 1 taken 1 time.
✗ Branch 1 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4533 times.
✓ Branch 2 taken 125 times.
✓ Branch 2 taken 18 times.
✓ Branch 2 taken 16 times.
✓ Branch 2 taken 78 times.
✓ Branch 4 taken 62 times.
✓ Branch 4 taken 3145 times.
✓ Branch 4 taken 42 times.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 4518 times.
✓ Branch 5 taken 5201 times.
✓ Branch 5 taken 46 times.
✓ Branch 5 taken 16 times.
✓ Branch 5 taken 78 times.
✓ Branch 7 taken 1916 times.
✓ Branch 7 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 3130 times.
✓ Branch 8 taken 12 times.
✓ Branch 8 taken 121 times.
✓ Branch 8 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 8 times.
✓ Branch 11 taken 4 times.
✓ Branch 11 taken 5 times.
✓ Branch 13 taken 50 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 95 times.
✓ Branch 14 taken 3 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 3 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 3 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 3 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 3 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 2 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 2 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 11 times.
✗ Branch 40 not taken.
✓ Branch 41 taken 1 time.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 270 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 1 not taken.
✓ Branch 2 taken 838 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 253 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 92 times.
✓ Branch 2 taken 88 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 414 times.
✓ Branch 2 taken 219 times.
25457x if( n > b1.size())
71 5748x n = b1.size();
72
22/38
<unknown function 45>:
✗ Branch 0 not taken.
✓ Branch 1 taken 4781 times.
✓ Branch 2 taken 3150 times.
✓ Branch 3 taken 9958 times.
✓ Branch 4 taken 1728 times.
✓ Branch 5 taken 3458 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 21 times.
✓ Branch 8 taken 24 times.
✓ Branch 9 taken 124 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 3 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 2 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 11 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 time.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 0 not taken.
✓ Branch 1 taken 274 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 0 not taken.
✓ Branch 1 taken 838 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 0 not taken.
✓ Branch 1 taken 257 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 0 not taken.
✓ Branch 1 taken 180 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 0 not taken.
✓ Branch 1 taken 633 times.
25457x if( n > at_most - total)
73 4902x n = at_most - total;
74
22/38
<unknown function 45>:
✓ Branch 0 taken 4023 times.
✓ Branch 1 taken 758 times.
✓ Branch 2 taken 11858 times.
✓ Branch 3 taken 1250 times.
✓ Branch 4 taken 4836 times.
✓ Branch 5 taken 350 times.
✓ Branch 6 taken 21 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 148 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 3 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 3 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 2 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 11 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 0 taken 274 times.
✗ Branch 1 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 0 taken 838 times.
✗ Branch 1 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 0 taken 257 times.
✗ Branch 1 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 0 taken 180 times.
✗ Branch 1 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 0 taken 633 times.
✗ Branch 1 not taken.
25457x if(n != 0)
75 23099x std::memcpy(
76 b1.data(),
77 b0.data(),
78 n);
79 25457x return n;
80 25457x }();
81 25457x total += amount;
82
8/10
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 174 times.
✓ Branch 2 taken 100 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const::{lambda()#1}::operator()() const:
✗ Branch 1 not taken.
✓ Branch 2 taken 838 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 87 times.
✓ Branch 2 taken 170 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 180 times.
✗ Branch 2 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 444 times.
✓ Branch 2 taken 189 times.
25457x if(amount == b1.size())
83 {
84 7294x ++it1;
85 7294x pos1 = 0;
86 }
87 else
88 {
89 18163x pos1 += amount;
90 }
91
9/10
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::mutable_buffer>(boost::capy::mutable_buffer const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 270 times.
✓ Branch 2 taken 4 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >(boost::capy::mutable_buffer const&, boost::capy::slice_of<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 838 times.
✗ Branch 2 not taken.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer const, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer const, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 253 times.
✓ Branch 2 taken 4 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<boost::capy::mutable_buffer, std::span<boost::capy::const_buffer, 18446744073709551615ul> >(boost::capy::mutable_buffer const&, std::span<boost::capy::const_buffer, 18446744073709551615ul> const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 88 times.
✓ Branch 2 taken 92 times.
boost::capy::buffer_copy_mrdocs_workaround_t::operator()<std::span<boost::capy::mutable_buffer const, 18446744073709551615ul>, boost::capy::mutable_buffer>(std::span<boost::capy::mutable_buffer const, 18446744073709551615ul> const&, boost::capy::mutable_buffer const&, unsigned long) const::{lambda()#1}::operator()() const:
✓ Branch 1 taken 219 times.
✓ Branch 2 taken 414 times.
25457x if(amount == b0.size())
92 {
93 16223x ++it0;
94 16223x pos0 = 0;
95 }
96 else
97 {
98 9234x pos0 += amount;
99 }
100 }
101 15250x return total;
102 }
103 } buffer_copy {};
104
105 } // capy
106 } // boost
107
108 #endif
109