Я использую boost:: program_options библиотеку для обработки параметров командной строки. Мне нужно принять имя файла через параметр -r, если он пуст (-r задан без параметров), мне нужно использовать stdin.
desc.add_options()
("replay,r", boost::program_options::value<std::string>(), "bla bla bla")
В этом случае boost не принимает -r без параметров и генерирует исключение. default_value() не работает так же, как и для возвращаемого значения библиотеки, даже если пользователь не предоставил параметр -r.
Есть идеи, как работать?