| 1130 | } |
| 1131 | |
| 1132 | Status AddFactory(std::string factory_name, Factory factory) override { |
| 1133 | auto it_success = factories_.emplace(std::move(factory_name), std::move(factory)); |
| 1134 | |
| 1135 | if (!it_success.second) { |
| 1136 | const auto& factory_name = it_success.first->first; |
| 1137 | return Status::KeyError("ExecNode factory named ", factory_name, |
| 1138 | " already registered."); |
| 1139 | } |
| 1140 | |
| 1141 | return Status::OK(); |
| 1142 | } |
| 1143 | |
| 1144 | private: |
| 1145 | std::unordered_map<std::string, Factory> factories_; |