Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60ae3e0b authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi
Browse files

Add TrieMap.save().

Bug: 14425059
Change-Id: Ie0b4fe8b9a157da0401bb277c703ab084d5bf9cc
parent 5c1decfb
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

#include "suggest/policyimpl/dictionary/utils/trie_map.h"

#include "suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h"

namespace latinime {

const int TrieMap::INVALID_INDEX = -1;
@@ -98,6 +100,11 @@ bool TrieMap::put(const int key, const uint64_t value, const int bitmapEntryInde
    return putInternal(unsignedKey, value, getBitShuffledKey(unsignedKey), bitmapEntryIndex,
            readEntry(bitmapEntryIndex), 0 /* level */);
}

bool TrieMap::save(FILE *const file) const {
    return DictFileWritingUtils::writeBufferToFileTail(file, &mBuffer);
}

/**
 * Iterate next entry in a certain level.
 *
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@

#include <climits>
#include <cstdint>
#include <cstdio>
#include <vector>

#include "defines.h"
@@ -192,6 +193,8 @@ class TrieMap {
        return TrieMapRange(this, bitmapEntryIndex);
    }

    bool save(FILE *const file) const;

 private:
    DISALLOW_COPY_AND_ASSIGN(TrieMap);