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 9 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 16 of file byte_view.cpp.

◆ byte_view_range() [3/3]

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

Create new view and take ownership of passed buffer

Parameters
bufferpass buffer via rvalue
Note
View is valid without limitation

Definition at line 21 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 26 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 32 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: