14 const ElPtr &el_atoms)
28 el_atoms->check_required_keys({
"mol",
"id"});
30 auto &atoms = el_atoms->get_data();
36 for (
const auto &atom : atoms)
38 int molid = atom[
"mol"];
40 if (id2index.find(molid) == id2index.cend())
42 data[max_index][
"id"] = molid;
43 id2index[molid] = max_index++;
46 data[id2index[molid]][
"atom-ids"].push_back(atom[
"id"]);
ShPtr< Element > ElPtr
An alias for a shared pointer of Element class.
std::function< bool(const Json &)> JsonToBoolFunc
An alias for a function accepts a Json object and returns a bool.
virtual void compute_impl(Json &data, JsonToVoidFunc check_required_keys, JsonToBoolFunc check_optional_keys) override
This method overrides Updater::compute_impl.
nlohmann::json Json
Json is an alias for nlohmann::json.
ShPtr< Generator > ext_generator
This file has a definition of StaMolecules class, which is a subclass of Starter class.
StaMolecules(const ElPtr &el_atoms)
Constructor of StaMolecules class.
std::function< void(const Json &)> JsonToVoidFunc
An alias for a function accepts a Json object.
std::unordered_map< T, U > Map
Map is an alias for unordered map (same as dict in Python).