command_line::get_arg: remove 'required' for dependent args as they're always optional

This commit is contained in:
stoffu 2018-03-04 17:00:21 +09:00
parent 450306a01c
commit 55f8d917fd
No known key found for this signature in database
GPG key ID: 41DAB8343A9EC012

View file

@ -227,8 +227,8 @@ namespace command_line
return vm[arg.name].defaulted();
}
template<typename T, bool required>
T get_arg(const boost::program_options::variables_map& vm, const arg_descriptor<T, required, true>& arg)
template<typename T>
T get_arg(const boost::program_options::variables_map& vm, const arg_descriptor<T, false, true>& arg)
{
return arg.depf(get_arg(vm, arg.ref), is_arg_defaulted(vm, arg), vm[arg.name].template as<T>());
}
@ -242,7 +242,7 @@ namespace command_line
template<bool dependent>
inline bool has_arg(const boost::program_options::variables_map& vm, const arg_descriptor<bool, false, dependent>& arg)
{
return get_arg<bool, false>(vm, arg);
return get_arg(vm, arg);
}