1#ifndef XRPL_LEDGER_READVIEWFWDRANGE_H_INCLUDED
2#define XRPL_LEDGER_READVIEWFWDRANGE_H_INCLUDED
16template <
class ValueType>
46template <
class ValueType>
54 "ReadViewFwdRange move and move assign constructors should be "
virtual ~ReadViewFwdIter()=default
virtual value_type dereference() const =0
ReadViewFwdIter(ReadViewFwdIter const &)=default
ReadViewFwdIter()=default
virtual std::unique_ptr< ReadViewFwdIter > copy() const =0
ReadViewFwdIter & operator=(ReadViewFwdIter const &)=default
virtual bool equal(ReadViewFwdIter const &impl) const =0
virtual void increment()=0
bool operator!=(iterator const &other) const
std::unique_ptr< iter_base > impl_
std::optional< value_type > cache_
iterator & operator=(iterator &&other) noexcept
reference operator*() const
bool operator==(iterator const &other) const
pointer operator->() const
value_type const & reference
value_type const * pointer
iterator(iterator const &other)
iterator(iterator &&other) noexcept
iterator & operator=(iterator const &other)
iterator(ReadView const *view, std::unique_ptr< iter_base > impl)
ReadViewFwdRange & operator=(ReadViewFwdRange const &)=default
ReadViewFwdRange()=delete
ReadViewFwdRange(ReadViewFwdRange const &)=default
ReadViewFwdRange(ReadView const &view)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.