From a566a3acc84386e4738711d27a250f63e59cbb6b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 18 Oct 2019 08:37:27 +0200 Subject: Optimize config::required() to move default value if possible --- libbuild2/config/utility.hxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'libbuild2/config/utility.hxx') diff --git a/libbuild2/config/utility.hxx b/libbuild2/config/utility.hxx index b1995b6..cfb7177 100644 --- a/libbuild2/config/utility.hxx +++ b/libbuild2/config/utility.hxx @@ -43,7 +43,7 @@ namespace build2 pair required (scope& root, const variable&, - const T& default_value, + T&& default_value, bool override = false, uint64_t save_flags = 0); @@ -53,12 +53,15 @@ namespace build2 inline pair required (scope& root, const string& name, - const T& default_value, + T&& default_value, bool override = false, uint64_t save_flags = 0) { - return required ( - root, root.ctx.var_pool[name], default_value, override, save_flags); + return required (root, + root.ctx.var_pool[name], + std::forward (default_value), // VC14 + override, + save_flags); } inline pair -- cgit v1.1