buffer.h: remove list::iterator_impl::advance(size_t)

quote from Radoslaw's comment

> In general we could remove it as the `buffer` library tends to
> disrespects `size_t` – `list::_len` and `ptr::_len` are both
`unsigned`.
> There are some exceptions like `size_t buffer::ptr::get_offset()`
(used
> altogether with `::advance` in `denc.h`) but they deserve rework as
> well.

and in this very case, we simply cast `size_t` to `unsigned`. so we
could silently trim a 64bits integer to 32bit on 64bits architecture.

so for better portability, we can just remove it. also, this function is
inlined, so the ABI is not changed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
This commit is contained in:
Kefu Chai 2019-05-29 16:50:58 +08:00
parent 41d2a9578a
commit a9f8b1a609

View File

@ -727,9 +727,7 @@ inline namespace v14_2_0 {
//return off == bl->length();
}
void advance(int o) = delete;
void advance(unsigned o);
void advance(size_t o) { advance(static_cast<unsigned>(o)); }
void seek(unsigned o);
char operator*() const;
iterator_impl& operator++();