changeset 839:e7709755e557

irccd: use std::string_view in plugin_service
author David Demelier <markand@malikania.fr>
date Mon, 29 Apr 2019 12:22:44 +0200
parents eda721611955
children fdb1e0f5fd6d
files libirccd-daemon/irccd/daemon/plugin_service.cpp libirccd-daemon/irccd/daemon/plugin_service.hpp
diffstat 2 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libirccd-daemon/irccd/daemon/plugin_service.cpp	Fri Apr 26 20:52:00 2019 +0200
+++ b/libirccd-daemon/irccd/daemon/plugin_service.cpp	Mon Apr 29 12:22:44 2019 +0200
@@ -35,7 +35,7 @@
 
 namespace {
 
-auto to_map(const config& conf, const std::string& section) -> plugin::map
+auto to_map(const config& conf, std::string_view section) -> plugin::map
 {
 	plugin::map ret;
 
--- a/libirccd-daemon/irccd/daemon/plugin_service.hpp	Fri Apr 26 20:52:00 2019 +0200
+++ b/libirccd-daemon/irccd/daemon/plugin_service.hpp	Mon Apr 29 12:22:44 2019 +0200
@@ -231,14 +231,14 @@
 	 * \param args the arguments to pass
 	 */
 	template <typename Func, typename... Args>
-	void exec(const std::string& name, Func fn, Args&&... args)
+	void exec(std::string_view name, Func&& fn, Args&&... args)
 	{
 		auto plugin = find(name);
 
 		if (!plugin)
 			throw plugin_error(plugin_error::not_found, plugin->get_name());
 
-		exec(plugin, fn, std::forward<Args>(args)...);
+		exec(std::move(plugin), std::forward<Func>(fn), std::forward<Args>(args)...);
 	}
 
 	/**