void serialize_stcd_index(const std::string& filepath, const std::map<std::string, uint32_t>& stcd_index)
{
std::ofstream file(filepath);
if (!file.is_open())
{
throw std::runtime_error("Failed to open file for writing.");
}
for (const auto& [stcd, index] : stcd_index)
{
file << stcd << " " << index << std::endl;
}
file.close();
}
std::map<uint32_t, std::string> deserialize_stcd_index(const std::string& filepath)
{
std::map<uint32_t, std::string> des_index_stcd;
std::ifstream file(filepath);
if (!file.is_open())
{
SFP_ERROR("Failed to open file: {}", filepath);
return des_index_stcd;
}
std::string line;
while (std::getline(file, line))
{
std::istringstream iss(line);
std::string stcd;
uint32_t index;
if (!(iss >> stcd >> index))
{
continue;
}
des_index_stcd[index] = stcd;
}
file.close();
return des_index_stcd;
}