C/C++ API Reference
Loading...
Searching...
No Matches
pw::multibuf::v2::internal::ByteIterator< kMutability > Class Template Reference

Overview

template<Mutability kMutability>
class pw::multibuf::v2::internal::ByteIterator< kMutability >

Byte iterator templated on the const-ness of the bytes it references.

Inheritance diagram for pw::multibuf::v2::internal::ByteIterator< kMutability >:
pw::multibuf::v2::internal::BasicByteIterator

Public Types

using value_type = std::conditional_t< kMutability==Mutability::kConst, const std::byte, std::byte >
 
using pointer = value_type *
 
using reference = value_type &
 
using Deque = Entry::Deque
 
using difference_type = Entry::difference_type
 
using iterator_category = std::random_access_iterator_tag
 
using size_type = Entry::size_type
 
- Public Types inherited from pw::multibuf::v2::internal::BasicByteIterator
using Deque = Entry::Deque
 
using size_type = Entry::size_type
 
using difference_type = Entry::difference_type
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

constexpr ByteIterator (const ByteIterator &other)=default
 
ByteIteratoroperator= (const ByteIterator &other)=default
 
constexpr operator ByteIterator< Mutability::kConst > () const
 
constexpr reference operator* () const
 
constexpr reference operator[] (difference_type n) const
 
constexpr ByteIteratoroperator++ ()
 
constexpr ByteIterator operator++ (int)
 
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>, int>>
constexpr ByteIteratoroperator+= (T n)
 
constexpr ByteIteratoroperator-- ()
 
constexpr ByteIterator operator-- (int)
 
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>, int>>
constexpr ByteIteratoroperator-= (T n)
 

Friends

class GenericMultiBuf
 
class ::pw::multibuf::v2::test::IteratorTest
 
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>, int>>
constexpr friend ByteIterator operator+ (ByteIterator it, T n)
 
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>, int>>
constexpr friend ByteIterator operator+ (T n, ByteIterator it)
 
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>, int>>
constexpr friend ByteIterator operator- (ByteIterator it, T n)
 
constexpr friend bool operator== (const ByteIterator &lhs, const ByteIterator &rhs)
 
constexpr friend bool operator!= (const ByteIterator &lhs, const ByteIterator &rhs)
 
constexpr friend bool operator< (const ByteIterator &lhs, const ByteIterator &rhs)
 
constexpr friend bool operator> (const ByteIterator &lhs, const ByteIterator &rhs)
 
constexpr friend bool operator<= (const ByteIterator &lhs, const ByteIterator &rhs)
 
constexpr friend bool operator>= (const ByteIterator &lhs, const ByteIterator &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from pw::multibuf::v2::internal::BasicByteIterator
constexpr BasicByteIterator (const Deque &deque, size_type chunk, size_type entries_per_chunk, size_type offset)
 
constexpr bool has_deque () const
 
constexpr const Dequedeque () const
 
constexpr void Increment (difference_type n)
 
constexpr void Decrement (difference_type n)
 
constexpr int Compare (const BasicByteIterator &other) const
 
- Protected Attributes inherited from pw::multibuf::v2::internal::BasicByteIterator
const Dequedeque_ = nullptr
 
size_type chunk_ = 0
 
size_type entries_per_chunk_ = 0
 
size_type offset_ = 0
 

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