Я пытаюсь сериализовать и десериализовать sparsepp spp::sparse_hash_map
типа spp::sparse_hash_map<const std::vector<uint32_t>, uint32_t>
, используя злаки .
См. Связанный вопрос, почему я использую const
ключ здесь .
Однако компиляция следующего кода завершается неудачно:
spp::sparse_hash_map<const std::vector<uint32_t>, uint32_t> my_map;
std::ifstream file(path, std::ios::binary);
cereal::BinaryInputArchive input(file);
input(my_map);
Когда я удаляю const из типа ключа, он компилирует:
spp::sparse_hash_map<std::vector<uint32_t>, uint32_t> my_map;
std::ifstream file(path, std::ios::binary);
cereal::BinaryInputArchive input(file);
input(my_map);
Вывод компилятора:
error: no matching function for call to ‘cereal::BinaryInputArchive::processImpl(const std::vector<unsigned int>&)’
Компилятор: clang версия 6.0.0-1ubuntu2 (tags / RELEASE_600 /final)
Есть ли способ десереализовать этот тип с помощью хлопьев?Чего мне не хватает?