Inflection
Morphology Inflection
Loading...
Searching...
No Matches
DictionaryKeyIterator.hpp
1/*
2 * Copyright 2018-2024 Apple Inc. All rights reserved.
3 */
4#pragma once
5
6#include <inflection/dictionary/metadata/fwd.hpp>
7#include <inflection/dictionary/fwd.hpp>
8#include <inflection/Object.hpp>
9#include <cstdint>
10#include <memory>
11#include <string>
12
17 : public virtual ::inflection::Object
18{
19
20public:
22 typedef ::inflection::Object super;
24
33
37 const ::std::u16string& operator*() const;
38
43
47 bool operator==(const DictionaryKeyIterator& rhs) const;
48
57
59 DictionaryKeyIterator& operator=(const DictionaryKeyIterator&) = delete;
60private:
61
62 explicit DictionaryKeyIterator(const ::inflection::dictionary::metadata::MarisaTrieIterator<uint64_t>& trieIterator);
63
64 std::unique_ptr<::inflection::dictionary::metadata::MarisaTrieIterator<uint64_t>> trieIterator { };
65
66 friend class DictionaryMetaData_MMappedDictionary;
67};
Inflection's root object.
Definition Object.hpp:14
Provides the ability to iterate over the words from a DictionaryMetaData object.
bool operator==(const DictionaryKeyIterator &rhs) const
DictionaryKeyIterator begin() const
DictionaryKeyIterator(DictionaryKeyIterator &&iterator)
const ::std::u16string & operator*() const
The C++ namespace for Inflection.
Definition fwd.hpp:11