xrpld
Loading...
Searching...
No Matches
xrpl::detail::ReadViewFwdRange< ValueType >::Iterator Class Reference

#include <ReadViewFwdRange.h>

Collaboration diagram for xrpl::detail::ReadViewFwdRange< ValueType >::Iterator:

Public Types

using value_type = ValueType
using pointer = value_type const*
using reference = value_type const&
using difference_type = std::ptrdiff_t
using iterator_category = std::forward_iterator_tag

Public Member Functions

 Iterator ()=default
 Iterator (Iterator const &other)
 Iterator (Iterator &&other) noexcept
 Iterator (ReadView const *view, std::unique_ptr< iter_base > impl)
Iteratoroperator= (Iterator const &other)
Iteratoroperator= (Iterator &&other) noexcept
bool operator== (Iterator const &other) const
bool operator!= (Iterator const &other) const
reference operator* () const
pointer operator-> () const
Iteratoroperator++ ()
Iterator operator++ (int)

Private Attributes

ReadView const * view_ = nullptr
std::unique_ptr< iter_baseimpl_ {}
std::optional< value_typecache_

Detailed Description

template<class ValueType>
class xrpl::detail::ReadViewFwdRange< ValueType >::Iterator

Definition at line 56 of file ReadViewFwdRange.h.

Member Typedef Documentation

◆ value_type

template<class ValueType>
using xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::value_type = ValueType

Definition at line 59 of file ReadViewFwdRange.h.

◆ pointer

template<class ValueType>
using xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::pointer = value_type const*

Definition at line 61 of file ReadViewFwdRange.h.

◆ reference

template<class ValueType>
using xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::reference = value_type const&

Definition at line 63 of file ReadViewFwdRange.h.

◆ difference_type

template<class ValueType>
using xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::difference_type = std::ptrdiff_t

Definition at line 65 of file ReadViewFwdRange.h.

◆ iterator_category

template<class ValueType>
using xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::iterator_category = std::forward_iterator_tag

Definition at line 67 of file ReadViewFwdRange.h.

Constructor & Destructor Documentation

◆ Iterator() [1/4]

template<class ValueType>
xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::Iterator ( )
default

◆ Iterator() [2/4]

template<class ValueType>
xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::Iterator ( Iterator const & other)

◆ Iterator() [3/4]

template<class ValueType>
xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::Iterator ( Iterator && other)
noexcept

◆ Iterator() [4/4]

template<class ValueType>
xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::Iterator ( ReadView const * view,
std::unique_ptr< iter_base > impl )
explicit

Member Function Documentation

◆ operator=() [1/2]

template<class ValueType>
Iterator & xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator= ( Iterator const & other)

◆ operator=() [2/2]

template<class ValueType>
Iterator & xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator= ( Iterator && other)
noexcept

◆ operator==()

template<class ValueType>
bool xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator== ( Iterator const & other) const

◆ operator!=()

template<class ValueType>
bool xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator!= ( Iterator const & other) const

◆ operator*()

template<class ValueType>
reference xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator* ( ) const

◆ operator->()

template<class ValueType>
pointer xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator-> ( ) const

◆ operator++() [1/2]

template<class ValueType>
Iterator & xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator++ ( )

◆ operator++() [2/2]

template<class ValueType>
Iterator xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::operator++ ( int )

Member Data Documentation

◆ view_

template<class ValueType>
ReadView const* xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::view_ = nullptr
private

Definition at line 104 of file ReadViewFwdRange.h.

◆ impl_

template<class ValueType>
std::unique_ptr<iter_base> xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::impl_ {}
private

Definition at line 105 of file ReadViewFwdRange.h.

◆ cache_

template<class ValueType>
std::optional<value_type> xrpl::detail::ReadViewFwdRange< ValueType >::Iterator::cache_
mutableprivate

Definition at line 106 of file ReadViewFwdRange.h.