FE 0.14.0
A C++23 toolkit for writing compiler/interpreter frontends.
Loading...
Searching...
No Matches
fe::Patricia< D, KT, K, N >::Set::iterator Class Reference

Yields the D* in ascending Key::key order. More...

#include <fe/patricia.h>

Public Types

using iterator_category = std::forward_iterator_tag
using difference_type = std::ptrdiff_t
using value_type = D*
using pointer = D*
using reference = D*

Public Member Functions

 iterator () noexcept=default
reference operator* () const noexcept
pointer operator-> () const noexcept
iteratoroperator++ () noexcept
iterator operator++ (int) noexcept
bool operator== (const iterator &other) const noexcept

Friends

class Set

Detailed Description

template<class D, class KT, class K = uint32_t, size_t N = 8>
class fe::Patricia< D, KT, K, N >::Set::iterator

Yields the D* in ascending Key::key order.

Note
The trie is at most 8 * sizeof(K) deep, so the path stack sits inside the iterator.

Definition at line 188 of file patricia.h.

Member Typedef Documentation

◆ difference_type

template<class D, class KT, class K = uint32_t, size_t N = 8>
using fe::Patricia< D, KT, K, N >::Set::iterator::difference_type = std::ptrdiff_t

Definition at line 191 of file patricia.h.

◆ iterator_category

template<class D, class KT, class K = uint32_t, size_t N = 8>
using fe::Patricia< D, KT, K, N >::Set::iterator::iterator_category = std::forward_iterator_tag

Definition at line 190 of file patricia.h.

◆ pointer

template<class D, class KT, class K = uint32_t, size_t N = 8>
using fe::Patricia< D, KT, K, N >::Set::iterator::pointer = D*

Definition at line 193 of file patricia.h.

◆ reference

template<class D, class KT, class K = uint32_t, size_t N = 8>
using fe::Patricia< D, KT, K, N >::Set::iterator::reference = D*

Definition at line 194 of file patricia.h.

◆ value_type

template<class D, class KT, class K = uint32_t, size_t N = 8>
using fe::Patricia< D, KT, K, N >::Set::iterator::value_type = D*

Definition at line 192 of file patricia.h.

Constructor & Destructor Documentation

◆ iterator()

template<class D, class KT, class K = uint32_t, size_t N = 8>
fe::Patricia< D, KT, K, N >::Set::iterator::iterator ( )
defaultnoexcept

Member Function Documentation

◆ operator*()

template<class D, class KT, class K = uint32_t, size_t N = 8>
reference fe::Patricia< D, KT, K, N >::Set::iterator::operator* ( ) const
inlinenoexcept

Definition at line 198 of file patricia.h.

Referenced by operator->().

◆ operator++() [1/2]

template<class D, class KT, class K = uint32_t, size_t N = 8>
iterator & fe::Patricia< D, KT, K, N >::Set::iterator::operator++ ( )
inlinenoexcept

Definition at line 201 of file patricia.h.

References iterator().

Referenced by operator++().

◆ operator++() [2/2]

template<class D, class KT, class K = uint32_t, size_t N = 8>
iterator fe::Patricia< D, KT, K, N >::Set::iterator::operator++ ( int )
inlinenoexcept

Definition at line 206 of file patricia.h.

References iterator(), and operator++().

◆ operator->()

template<class D, class KT, class K = uint32_t, size_t N = 8>
pointer fe::Patricia< D, KT, K, N >::Set::iterator::operator-> ( ) const
inlinenoexcept

Definition at line 199 of file patricia.h.

References operator*().

◆ operator==()

template<class D, class KT, class K = uint32_t, size_t N = 8>
bool fe::Patricia< D, KT, K, N >::Set::iterator::operator== ( const iterator & other) const
inlinenoexcept

Definition at line 212 of file patricia.h.

References iterator().

◆ Set

template<class D, class KT, class K = uint32_t, size_t N = 8>
friend class Set
friend

Definition at line 261 of file patricia.h.

References Set.

Referenced by Set.


The documentation for this class was generated from the following file: