50 static const std::map<int, std::string> symbol_table = [] {
51 std::map<int, std::string> inverted;
52 for (
const auto& [symbol, number] : symbol_to_atomic_number_table())
53 inverted.emplace(number, symbol);
56 static const std::string no_such_element;
58 auto iterator = symbol_table.find(atomic_number);
59 return iterator == symbol_table.end() ? no_such_element : iterator->second;