25#include "SerializableDict.hpp"
37inline bool LooksLikeLegacy64Field(
const void* bytes) {
39 std::memcpy(&word, bytes,
sizeof(word));
40 return (word >> 32) == 0;
49 BinaryDict(
const LexiconPtr& _lexicon) : lexicon(_lexicon) {}
53 virtual void SerializeToFile(FILE* fp)
const;
55 static BinaryDictPtr NewFromFile(FILE* fp);
56 static BinaryDictPtr NewFromBuffer(
const char* data,
size_t size);
58 const LexiconPtr& GetLexicon()
const {
return lexicon; }
60 size_t KeyMaxLength()
const;
64 std::string keyBuffer;
65 std::string valueBuffer;
67 void ConstructBuffer(std::string& keyBuffer, std::vector<size_t>& keyOffset,
68 size_t& keyTotalLength, std::string& valueBuffer,
69 std::vector<size_t>& valueOffset,
70 size_t& valueTotalLength)
const;
Binary dictionary for faster deserialization.
Definition: BinaryDict.hpp:47
Serializable dictionary interface.
Definition: SerializableDict.hpp:32