Десериализация sparsepp sparse_hash_map с использованием константных ключей с использованием зерновых - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь сериализовать и десериализовать 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)

Есть ли способ десереализовать этот тип с помощью хлопьев?Чего мне не хватает?

...