MCPcopy Create free account
hub / github.com/boostorg/asio / check_buffers

Method check_buffers

test/write_at.cpp:64–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62
63 template <typename Iterator>
64 bool check_buffers(boost::asio::uint64_t offset,
65 Iterator begin, Iterator end, size_t length)
66 {
67 if (offset + length > max_length)
68 return false;
69
70 Iterator iter = begin;
71 size_t checked_length = 0;
72 for (; iter != end && checked_length < length; ++iter)
73 {
74 size_t buffer_length = boost::asio::buffer_size(*iter);
75 if (buffer_length > length - checked_length)
76 buffer_length = length - checked_length;
77 if (memcmp(data_ + offset + checked_length,
78 iter->data(), buffer_length) != 0)
79 return false;
80 checked_length += buffer_length;
81 }
82
83 return true;
84 }
85
86 template <typename Const_Buffers>
87 bool check_buffers(boost::asio::uint64_t offset,

Calls 4

buffer_sizeFunction · 0.85
buffer_sequence_beginFunction · 0.50
buffer_sequence_endFunction · 0.50
dataMethod · 0.45