Template Class Archive::iterator

Nested Relationships

This class is a nested type of Class Archive.

Class Documentation

template<EntryOrder order>
class iterator

An iterator on an Archive.

Archive::iterator stores an internal state which is not protected from race-condition. It is not threadsafe.

An EntryRange can’t be modified and is consequently threadsafe.

Be aware that the referenced/pointed Entry is generated and stored in the iterator itself. Once the iterator is destructed or incremented/decremented, you must NOT use the Entry.

Public Types

using iterator_category = std::input_iterator_tag
using value_type = Entry
using pointer = Entry*
using reference = Entry&

Public Functions

inline explicit iterator(const std::shared_ptr<FileImpl> file, entry_index_type idx)
inline iterator(const iterator<order> &other)
inline bool operator==(const iterator<order> &it) const
inline bool operator!=(const iterator<order> &it) const
iterator<order> &operator=(iterator<order> &&it) = default
inline iterator<order> &operator=(iterator<order> &it)
inline iterator<order> &operator++()
inline iterator<order> operator++(int)
inline iterator<order> &operator--()
inline iterator<order> operator--(int)
inline const Entry &operator*() const
inline const Entry *operator->() const