From 55a022d94ad150cada768a101dad0fe7a3e6e3b5 Mon Sep 17 00:00:00 2001 From: Bensong Liu <bensl@microsoft.com> Date: Tue, 28 Jul 2020 14:11:35 +0800 Subject: [PATCH] fix msvc compilation issue on opt_parser::getValueArg overloading --- opt.hpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/opt.hpp b/opt.hpp index 905ae26..c0d9224 100644 --- a/opt.hpp +++ b/opt.hpp @@ -78,9 +78,7 @@ namespace rlib { return *pos; } } - - // rlib::string getValueArg(const std::string &longName, const std::string &shortName, bool required = true, const std::string &def = std::string()) // MSVC doesn't allow this overload. - rlib::string getValueArg(const std::string &longName, const std::string &shortName, bool required, const std::string &def) + rlib::string getValueArg(const std::string &longName, const std::string &shortName, bool required = true, const std::string &def = std::string()) { using rlib::literals::operator "" _format; std::string valueL = getValueArg(longName, false); @@ -95,16 +93,13 @@ namespace rlib { } return std::move(value); } - rlib::string getValueArg(const std::string &longName, const std::string &shortName, bool required) { - return getValueArg(longName, shortName, required, std::string()); - } - rlib::string getValueArg(const std::string &longName, const std::string &shortName) { - return getValueArg(longName, shortName, true, std::string()); - } rlib::string getValueArg(const std::string &longName, const char *shortName) { //getValueArg("--long", "-l") may be converted to getValueArg("--long", true). - return getValueArg(longName, shortName, true); + return getValueArg(longName, std::string(shortName)); + } + rlib::string getValueArg(const std::string& argName, bool required, const char * def) { + return getValueArg(argName, required, std::string(def)); } bool getBoolArg(const std::string &argName) -- GitLab