Vanetza
Loading...
Searching...
No Matches
vanetza::byte_view_range Class Reference

#include <byte_view.hpp>

Inheritance diagram for vanetza::byte_view_range:

Public Types

using value_type = byte_view_iterator::value_type
using pointer = byte_view_iterator::pointer

Public Member Functions

 byte_view_range (const ByteBuffer::const_iterator &, const ByteBuffer::const_iterator &)
 byte_view_range (const byte_view_iterator &, const byte_view_iterator &)
 byte_view_range (ByteBuffer &&)
ByteBuffer::const_pointer data () const
value_type operator[] (size_type) const

Private Types

using range_type = boost::iterator_range<byte_view_iterator>

Private Attributes

ByteBuffer buffer

Detailed Description

byte_view_range fulfills the range concept and provides a view of contiguous bytes

Note
private inheritance is used to prevent object slicing

Definition at line 134 of file byte_view.hpp.

Member Typedef Documentation

◆ pointer

using vanetza::byte_view_range::pointer = byte_view_iterator::pointer

Definition at line 140 of file byte_view.hpp.

◆ range_type

using vanetza::byte_view_range::range_type = boost::iterator_range<byte_view_iterator>
private

Definition at line 136 of file byte_view.hpp.

◆ value_type

using vanetza::byte_view_range::value_type = byte_view_iterator::value_type

Definition at line 139 of file byte_view.hpp.

Constructor & Destructor Documentation

◆ byte_view_range() [1/3]

vanetza::byte_view_range::byte_view_range ( const ByteBuffer::const_iterator & begin,
const ByteBuffer::const_iterator & end )

Construct new view from iterator pair.

Parameters
beginbegin iterator of view
endend iterator of view
Note
View is valid as long as passed iterators are valid

Definition at line 27 of file byte_view.cpp.

◆ byte_view_range() [2/3]

vanetza::byte_view_range::byte_view_range ( const byte_view_iterator & begin,
const byte_view_iterator & end )

Definition at line 32 of file byte_view.cpp.

◆ byte_view_range() [3/3]

vanetza::byte_view_range::byte_view_range ( ByteBuffer && _buffer)
explicit

Create new view and take ownership of passed buffer

Parameters
bufferpass buffer via rvalue
Note
View is valid without limitation

Definition at line 37 of file byte_view.cpp.

Member Function Documentation

◆ data()

ByteBuffer::const_pointer vanetza::byte_view_range::data ( ) const

Get pointer to start of contiguous buffer memory

Returns
pointer (can be nullptr)

Definition at line 42 of file byte_view.cpp.

◆ operator[]()

ByteBuffer::value_type vanetza::byte_view_range::operator[] ( size_type pos) const

Access a certain byte within range

Parameters
posbyte position within [0; size()[
Note
Override implementation by boost::iterator_range
Returns
byte value

Definition at line 48 of file byte_view.cpp.

Member Data Documentation

◆ buffer

ByteBuffer vanetza::byte_view_range::buffer
private

Definition at line 178 of file byte_view.hpp.


The documentation for this class was generated from the following files: