7#if !defined(TETENGO_TRIE_TRIEITERATOR_HPP)
8#define TETENGO_TRIE_TRIEITERATOR_HPP
14#include <boost/stl_interfaces/iterator_interface.hpp>
99 template <
typename Value>
101 public boost::stl_interfaces::iterator_interface<trie_iterator<Value>, std ::forward_iterator_tag, Value>
129 return *std::any_cast<value_type>(&*m_impl);
139 return *std::any_cast<value_type>(&*m_impl);
149 return std::any_cast<value_type>(&*m_impl);
159 return std::any_cast<value_type>(&*m_impl);
173 return one.m_impl == another.m_impl;
A double array iterator.
Definition double_array_iterator.hpp:32
A storage.
Definition storage.hpp:28
An implementation of trie iterator.
Definition trie_iterator.hpp:28
trie_iterator_impl(double_array_iterator double_array_iterator_, storage &storage_)
Creates an iterator.
std::any & operator*()
Dereferences the iterator.
trie_iterator_impl & operator++()
Increments the iterator.
trie_iterator_impl()
Creates an iterator.
friend bool operator==(const trie_iterator_impl &one, const trie_iterator_impl &another)
Returns true when one iterator is equal to another.
const std::any & operator*() const
Dereferences the iterator.
A trie iterator.
Definition trie_iterator.hpp:102
friend bool operator==(const trie_iterator &one, const trie_iterator &another)
Returns true when one iterator is equal to another.
Definition trie_iterator.hpp:171
value_type & operator*()
Dereferences the iterator.
Definition trie_iterator.hpp:137
value_type * operator->()
Returns the pointer to the value.
Definition trie_iterator.hpp:157
Value value_type
The value type.
Definition trie_iterator.hpp:107
trie_iterator & operator++()
Increments the iterator.
Definition trie_iterator.hpp:181
trie_iterator(trie_iterator_impl &&impl)
Creates an iterator.
Definition trie_iterator.hpp:117
const value_type * operator->() const
Returns the pointer to the value.
Definition trie_iterator.hpp:147
trie_iterator operator++(int)
Postincrements the iterator.
Definition trie_iterator.hpp:192
const value_type & operator*() const
Dereferences the iterator.
Definition trie_iterator.hpp:127