17#ifndef __ROGUE_INTERFACES_STREAM_FRAME_ACCESSOR_H__
18#define __ROGUE_INTERFACES_STREAM_FRAME_ACCESSOR_H__
60 data_ =
reinterpret_cast<T*
>(iter.
ptr());
65 "Attempt to create a FrameAccessor over a multi-buffer range!");
88 T&
at(
const uint32_t offset) {
91 "Attempt to access element %" PRIu32
" with size %" PRIu32,
110 return data_ + size_;
static GeneralError create(std::string src, const char *fmt,...)
Creates a formatted error instance.
Typed accessor over a contiguous frame-data region.
uint32_t size()
Returns number of elements in this accessor.
T * begin()
Returns pointer to first element.
FrameAccessor(rogue::interfaces::stream::FrameIterator &iter, uint32_t size)
Creates a typed accessor at the iterator location.
T & operator[](const uint32_t offset)
Dereference by index.
T & at(const uint32_t offset)
Returns element reference at offset with bounds checking.
T * end()
Returns pointer one-past-last element.
Random-access byte iterator across a Frame payload.
uint8_t * ptr() const
Returns pointer to byte at current iterator position.
uint32_t remBuffer()
Returns remaining bytes in the current buffer span.