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 "
ReadViewFwdIter()=default
virtual value_type dereference() const =0
virtual std::unique_ptr< ReadViewFwdIter > copy() const =0
virtual ~ReadViewFwdIter()=default
virtual void increment()=0
ReadViewFwdIter(ReadViewFwdIter const &)=default
virtual bool equal(ReadViewFwdIter const &impl) const =0
ReadViewFwdIter & operator=(ReadViewFwdIter const &)=default
pointer operator->() const
iterator(ReadView const *view, std::unique_ptr< iter_base > impl)
iterator & operator=(iterator const &other)
value_type const * pointer
iterator & operator=(iterator &&other) noexcept
iterator(iterator &&other) noexcept
std::unique_ptr< iter_base > impl_
std::optional< value_type > cache_
value_type const & reference
bool operator!=(iterator const &other) const
bool operator==(iterator const &other) const
reference operator*() const
iterator(iterator const &other)
ReadViewFwdRange(ReadViewFwdRange const &)=default
ReadViewFwdRange()=delete
ReadViewFwdRange & operator=(ReadViewFwdRange const &)=default
ReadViewFwdRange(ReadView const &view)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.