mirror of
https://github.com/boostorg/beast.git
synced 2025-07-30 21:07:26 +02:00
Fix buffers_prefix iterator decrement
This commit is contained in:
@ -3,6 +3,7 @@ Version 173:
|
||||
* Remove Autobahn testsuite doc note
|
||||
* Fix buffers_adapter iterator value type
|
||||
* Fix buffers_adapter max_size
|
||||
* Fix buffers_prefix iterator decrement
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
@ -39,6 +39,7 @@ class buffers_prefix_view
|
||||
|
||||
BufferSequence bs_;
|
||||
std::size_t size_;
|
||||
std::size_t remain_;
|
||||
iter_type end_;
|
||||
|
||||
template<class Deduced>
|
||||
@ -46,6 +47,7 @@ class buffers_prefix_view
|
||||
Deduced&& other, std::size_t dist)
|
||||
: bs_(std::forward<Deduced>(other).bs_)
|
||||
, size_(other.size_)
|
||||
, remain_(other.remain_)
|
||||
, end_(std::next(bs_.begin(), dist))
|
||||
{
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ private:
|
||||
const_iterator(buffers_prefix_view const& b,
|
||||
std::true_type)
|
||||
: b_(&b)
|
||||
, remain_(0)
|
||||
, remain_(b.remain_)
|
||||
, it_(b_->end_)
|
||||
{
|
||||
}
|
||||
@ -145,6 +145,7 @@ buffers_prefix_view<BufferSequence>::
|
||||
setup(std::size_t size)
|
||||
{
|
||||
size_ = 0;
|
||||
remain_ = 0;
|
||||
end_ = boost::asio::buffer_sequence_begin(bs_);
|
||||
auto const last = bs_.end();
|
||||
while(end_ != last)
|
||||
@ -154,6 +155,7 @@ setup(std::size_t size)
|
||||
if(len >= size)
|
||||
{
|
||||
size_ += size;
|
||||
remain_ = size - len;
|
||||
break;
|
||||
}
|
||||
size -= len;
|
||||
@ -192,6 +194,7 @@ operator=(buffers_prefix_view&& other) ->
|
||||
other.end_);
|
||||
bs_ = std::move(other.bs_);
|
||||
size_ = other.size_;
|
||||
remain_ = other.remain_;
|
||||
end_ = std::next(
|
||||
boost::asio::buffer_sequence_begin(bs_),
|
||||
dist);
|
||||
@ -209,6 +212,7 @@ operator=(buffers_prefix_view const& other) ->
|
||||
other.end_);
|
||||
bs_ = other.bs_;
|
||||
size_ = other.size_;
|
||||
remain_ = other.remain_;
|
||||
end_ = std::next(
|
||||
boost::asio::buffer_sequence_begin(bs_),
|
||||
dist);
|
||||
|
Reference in New Issue
Block a user