FairMQProgOptions: initialize defaults in the constructor, not in ParseAll

This commit is contained in:
Alexey Rybalchenko
2018-01-24 12:44:15 +01:00
committed by Mohammad Al-Turany
parent 778c8e16bb
commit efdec0f6ba
5 changed files with 19 additions and 6 deletions

View File

@@ -16,6 +16,7 @@
#include <iomanip>
#include <sstream>
#include <algorithm>
using namespace std;
@@ -87,6 +88,21 @@ int FairProgOptions::ParseCmdLine(const int argc, char const* const* argv, const
return ParseCmdLine(argc, argv, desc, fVarMap, allowUnregistered);
}
void FairProgOptions::ParseDefaults(const po::options_description& desc)
{
vector<string> emptyArgs;
emptyArgs.push_back("dummy");
vector<const char*> argv(emptyArgs.size());
transform(emptyArgs.begin(), emptyArgs.end(), argv.begin(), [](const string& str)
{
return str.c_str();
});
po::store(po::parse_command_line(argv.size(), const_cast<char**>(argv.data()), desc), fVarMap);
}
int FairProgOptions::PrintOptions()
{
// Method to overload.