+template<typename... T>
+void Builder::load_plugins()
+{
+ Plugin *raw_plugins[] = { new T(*this)... };
+ std::vector<LoadedPlugin> pending_plugins;
+ for(Plugin *p: raw_plugins)
+ {
+ LoadedPlugin plugin;
+ plugin.plugin = p;
+ pending_plugins.emplace_back(std::move(plugin));
+ }
+ add_plugins(pending_plugins);
+}
+