|
Electroneum
|
#include <value_stream.h>
Public Types | |
| using | value_type = F |
| using | reference = value_type |
| using | pointer = void |
| using | difference_type = std::size_t |
| using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
| value_iterator () noexcept | |
| Construct an "end" iterator. More... | |
| value_iterator (MDB_cursor *cur) | |
| value_iterator (value_iterator const &)=default | |
| ~value_iterator ()=default | |
| value_iterator & | operator= (value_iterator const &)=default |
| bool | is_end () const noexcept |
| bool | equal (value_iterator const &rhs) const noexcept |
| value_iterator & | operator++ () |
| Invalidates all prior copies of the iterator. More... | |
| value_iterator | operator++ (int) |
| template<typename U , typename G = U, std::size_t uoffset = 0> | |
| G | get_value () const noexcept |
| value_type | operator* () const noexcept |
Private Member Functions | |
| void | increment () |
Private Attributes | |
| MDB_cursor * | cur |
| epee::span< const std::uint8_t > | values |
An InputIterator for a fixed-sized LMDB value at a specific key.
| T | The value type at the specific key. |
| F | The value type being returned when dereferenced. |
| offset | to F within T. |
std::istream_iterator. | using lmdb::value_iterator< T, F, offset >::difference_type = std::size_t |
| using lmdb::value_iterator< T, F, offset >::iterator_category = std::input_iterator_tag |
| using lmdb::value_iterator< T, F, offset >::pointer = void |
| using lmdb::value_iterator< T, F, offset >::reference = value_type |
| using lmdb::value_iterator< T, F, offset >::value_type = F |
|
inlinenoexcept |
Construct an "end" iterator.
|
inline |
| cur | Iterate over values starting at this cursor position. |
| std::system_error | if unexpected LMDB error. This can happen if cur is invalid. |
|
default |
|
default |
|
inlinenoexcept |
rhs is referencing this value.
|
inlinenoexcept |
Get a specific field within F. Default behavior is to return the entirety of U, despite the filtering logic of operator*.
!is_end()| U | must match T, used for ELECTRONEUM_FIELD sanity checking. |
| G | field type to extract from the value |
| uoffset | to G type, or 0 when std::is_same<U, G>(). |
G, at uoffset within U.
|
inlineprivate |
|
inlinenoexcept |
this is one-past the last value.
|
inlinenoexcept |
!is_end() F, at offset, within T.
|
inline |
Invalidates all prior copies of the iterator.
|
inline |
|
default |
|
private |
|
private |