1#include <vanetza/common/byte_view.hpp>
2#include <vanetza/common/byte_buffer_convertible.hpp>
13make_safe_range(
const ByteBuffer::const_iterator& begin,
const ByteBuffer::const_iterator& end)
18 return boost::iterator_range<byte_view_iterator> { vbegin, vend };
21 return boost::iterator_range<byte_view_iterator> { empty, empty };
27byte_view_range::byte_view_range(
const ByteBuffer::const_iterator& begin,
const ByteBuffer::const_iterator& end) :
28 iterator_range(make_safe_range(begin, end))
33 iterator_range(begin, end)
38 iterator_range(make_safe_range(_buffer.begin(), _buffer.end())), buffer(std::move(_buffer))
44 auto begin =
this->begin();
45 return begin !=
this->end() ? begin.raw() :
nullptr;
50 static_assert(std::numeric_limits<size_type>::is_signed ==
false,
"size_type shall be unsigned");
68 convertible.convert(buffer);
value_type operator[](size_type) const
ByteBuffer::const_pointer data() const