У меня есть программа, которая читает большое количество переменных из файла конфигурации, используя boost :: program_options. Файл конфигурации работает и читает значения, однако, поскольку в файле есть много опций, я хотел бы задокументировать их на месте. Например, я хочу, чтобы файл конфигурации был похож на:
# Here is a description of flag1
# flag1 = true means blah blah blah
# flag1 = false means ...
flag1=true
# Here is a description of flag 2
.
.
.
Проблема в том, что я не могу найти документацию, где описан способ сделать это. Я вполне уверен, что я мог бы использовать что-то такое, как a=
для моего разделителя комментариев, и просто назначьте все комментарии std::vector<string>
быть отброшенным после анализа, однако я хотел бы знать, есть ли более подходящий способ обработки строк комментариев в файле конфигурации.
Документация program_options
это действительно плохо.
На самом деле, он уже поддерживает строки комментариев, начинающиеся с «#». Это выбрасывает эти строки. Вам не нужно ничего делать, чтобы сделать эту работу, это сделано косвенно. Он не работает с «//» и т. Д.
Других решений пока нет …