Hi,
The Custom Validators documentation
https://www.boost.org/doc/libs/1_68_0/doc/html/program_options/howto.html
shows
void validate(boost::any& v,
const std::vectorstd::string& values,
magic_number* target_type, int)
{
but the possible templates don't match; the last variable type is an
int; the key is matching this last type:
int goes with std::vector<T>*
long goes with T*
it also seems possible to hit the
void validate(boost::any& v,
const std::vector& s,
boost::optional<T>*,
int)
{
where it then calls for get_single_string and if you are trying for a
multitokens switch args, it'll throw " only takes a single argument".
which also varies if it was parsed by command_line_parser or
parse_config_file
command_line_parser: vector size can >= 1 up to number of switch args
parse_config_file: vector size ==1 no matter what the number of args are
on the input. just one string with all switch args.
This was tested with 1.65 yet I don't see anything changing in
https://github.com/boostorg/program_options/blob/develop/include/boost/progr...