Pigweed
 
Loading...
Searching...
No Matches
pw::ByteBuilder::iterator Class Reference

#include <byte_builder.h>

Public Types

using difference_type = ptrdiff_t
 
using value_type = std::byte
 
using element_type = const std::byte
 
using pointer = const std::byte *
 
using reference = const std::byte &
 
using iterator_category = containers::contiguous_iterator_tag
 

Public Member Functions

constexpr iterator (const std::byte *byte_ptr=nullptr)
 
constexpr iteratoroperator++ ()
 
constexpr iterator operator++ (int)
 
constexpr iteratoroperator-- ()
 
constexpr iterator operator-- (int)
 
constexpr iteratoroperator+= (int n)
 
constexpr iterator operator+ (int n) const
 
constexpr iteratoroperator-= (int n)
 
constexpr iterator operator- (int n) const
 
constexpr difference_type operator- (const iterator &rhs) const
 
constexpr reference operator* () const
 
constexpr pointer operator-> () const
 
constexpr reference operator[] (int index) const
 
constexpr bool operator== (const iterator &rhs) const
 
constexpr bool operator!= (const iterator &rhs) const
 
constexpr bool operator< (const iterator &rhs) const
 
constexpr bool operator> (const iterator &rhs) const
 
constexpr bool operator<= (const iterator &rhs) const
 
constexpr bool operator>= (const iterator &rhs) const
 
int8_t PeekInt8 () const
 
uint8_t PeekUint8 () const
 
int16_t PeekInt16 (endian order=endian::little) const
 
uint16_t PeekUint16 (endian order=endian::little) const
 
int32_t PeekInt32 (endian order=endian::little) const
 
uint32_t PeekUint32 (endian order=endian::little) const
 
int64_t PeekInt64 (endian order=endian::little) const
 
uint64_t PeekUint64 (endian order=endian::little) const
 
int8_t ReadInt8 ()
 
uint8_t ReadUint8 ()
 
int16_t ReadInt16 (endian order=endian::little)
 
uint16_t ReadUint16 (endian order=endian::little)
 
int32_t ReadInt32 (endian order=endian::little)
 
uint32_t ReadUint32 (endian order=endian::little)
 
int64_t ReadInt64 (endian order=endian::little)
 
uint64_t ReadUint64 (endian order=endian::little)
 

Detailed Description

iterator class will allow users of ByteBuilder and ByteBuffer to access the data stored in the buffer. It has the functionality of C++'s random access iterator.

Member Function Documentation

◆ PeekInt8()

int8_t pw::ByteBuilder::iterator::PeekInt8 ( ) const
inline

The Peek methods will retreive ordered (Little/Big Endian) values located at the iterator position without moving the iterator forward.

◆ ReadInt8()

int8_t pw::ByteBuilder::iterator::ReadInt8 ( )
inline

The Read methods will retreive ordered (Little/Big Endian) values located at the iterator position and move the iterator forward by sizeof(value) positions forward.


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