Trie

#include "trie.tcc"

Class definition

template<uint8_t alphabetSize, class T>
class Trie

Trie.

Template Parameters
  • alphabetSize – Size of the alphabet.

  • TLeaf type.

Public Functions

T *add(vector<uint8_t> const&) const

Add a word.

Parameters

word – Word.

Returns

Leaf.

void remove(vector<uint8_t> const&) const

Remove a word.

Parameters

word – Word.

Node<alphabetSize, T> *find(vector<uint8_t> const&) const

Find a word.

Parameters

word – Word.

Returns

node if found, nullptr otherwise.

generator<Result<T>> walk() const

Traverse.

Returns

Traversal results.

generator<Result<T>> hamming(vector<uint8_t> const&, int const) const

Hamming.

Parameters
  • word – Word.

  • distance – Maximum distance.

Returns

Traversal results.

generator<Result<T>> asymmetricHamming(vector<uint8_t> const&, int const) const

Asymmetric Hamming.

Parameters
  • word – Word.

  • distance – Maximum distance.

Returns

Traversal results.

generator<Result<T>> levenshtein(vector<uint8_t> const&, int const) const

Levenshtein.

Parameters
  • word – Word.

  • distance – Maximum distance.

Returns

Traversal results.

generator<Result<T>> asymmetricLevenshtein(vector<uint8_t> const&, int const) const

Asymmetric Levenshtein.

Parameters
  • word – Word.

  • distance – Maximum distance.

Returns

Traversal results.