| 1232 | |
| 1233 | template <class Map, class T, class OutputIterator> |
| 1234 | static void generic_get_unused_modules(Map& m, const std::vector<T*>& mods, OutputIterator out) |
| 1235 | { |
| 1236 | std::unordered_set<std::string> used; |
| 1237 | std::transform(mods.begin(), mods.end(), std::inserter(used, used.end()), [](auto&& mod) { |
| 1238 | return mod->name(); |
| 1239 | }); |
| 1240 | transform_if( |
| 1241 | m.begin(), |
| 1242 | m.end(), |
| 1243 | out, |
| 1244 | [&](auto&& pp) { return not contains(used, pp.first); }, |
| 1245 | [](auto&& pp) { return &pp.second; }); |
| 1246 | } |
| 1247 | |
| 1248 | std::vector<const module*> program::get_modules() const |
| 1249 | { |