
OK, i have rewritten the multi-line support. I hope it is much easier to read and understand now (but still got some iterator arithmetics in it ...) Now tabs ('\t') have a special function: - A option descriptions consists of one or more paragraphs. - Paragraphs are seperated by a '\n' and may be empty. - Each paragraph has an independend indent relative to first_column_width. - The indent is set as the position of the last tab ('\t') in a paragraph, other tabs are ignored. IMHO multiple indents per paragraph make no sens. - Additionally a first line indent can be simulated with spaces (' ') at the paragraph beginning. So the following code ... ----------------------------------------------- po::options_description options("Options"); options.add_options() ("help", "a long help msg a long help msg a long help msg a long help msg a long help msg a long help msg a long help msg a long help msg ") ("well_formated", "As you can see this is a very well formatted option description.\n" "You can do this for example:\n\n" "Values:\n" " Value1: \tdoes this and that, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla\n" " Value2: \tdoes something else, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla\n\n" " This paragraph has a first line indent only, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla") ; std::cout << options << "\n"; ----------------------------------------------- ... gives this output (formatted for 50 char per line) ----------------------------------------------- Options: --help a long help msg a long help msg a long help msg a long help msg a long help msg a long help msg a long help msg a long help msg --well_formated As you can see this is a very well formatted option description. You can do this for example: Values: Value1: does this and that, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla Value2: does something else, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla This paragraph has a first line indent only, bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla -----------------------------------------------