diff options
author | 2014-07-31 13:35:27 +0000 | |
---|---|---|
committer | 2014-07-31 13:35:27 +0000 | |
commit | 7baa9c3b7f8f381f42cb3b8f8b34fb20fc96cd29 (patch) | |
tree | f91c8a596faeb9e9b48b3e57134c1c96133f0bf9 | |
parent | 1e08b5239cf657ce745bab875f2dd03605a41fdc (diff) | |
parent | f9c68364d3cf3758a2e7f1692632658c69150ba8 (diff) | |
download | latinime-7baa9c3b7f8f381f42cb3b8f8b34fb20fc96cd29.tar.gz latinime-7baa9c3b7f8f381f42cb3b8f8b34fb20fc96cd29.tar.xz latinime-7baa9c3b7f8f381f42cb3b8f8b34fb20fc96cd29.zip |
am f9c68364: am de5c3a25: Construct TrieMap from existing buffer.
* commit 'f9c68364d3cf3758a2e7f1692632658c69150ba8':
Construct TrieMap from existing buffer.
-rw-r--r-- | native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp | 4 | ||||
-rw-r--r-- | native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp index ca79c18e5..2904b1e77 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp @@ -43,6 +43,10 @@ TrieMap::TrieMap() : mBuffer(MAX_BUFFER_SIZE) { writeEntry(EMPTY_BITMAP_ENTRY, ROOT_BITMAP_ENTRY_INDEX); } +TrieMap::TrieMap(uint8_t *const buffer, const int bufferSize) + : mBuffer(buffer, bufferSize, + BufferWithExtendableBuffer::DEFAULT_MAX_ADDITIONAL_BUFFER_SIZE) {} + void TrieMap::dump(const int from, const int to) const { AKLOGI("BufSize: %d", mBuffer.getTailPosition()); for (int i = from; i < to; ++i) { diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.h b/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.h index db278f5f1..8b33346e6 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.h +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.h @@ -160,6 +160,8 @@ class TrieMap { static const uint64_t MAX_VALUE; TrieMap(); + // Construct TrieMap using existing data in the memory region written by save(). + TrieMap(uint8_t *const buffer, const int bufferSize); void dump(const int from = 0, const int to = 0) const; bool isNearSizeLimit() const { |