| 6107 | *******************************************************************/ |
| 6108 | template<class OStream> |
| 6109 | void write(OStream& os) const |
| 6110 | { |
| 6111 | detail::formatting_ostream<OStream> fos(os); |
| 6112 | fos.first_column(fmt_.first_column()); |
| 6113 | fos.last_column(fmt_.last_column()); |
| 6114 | |
| 6115 | auto hindent = int(prefix_.size()); |
| 6116 | if(fos.first_column() + hindent >= int(0.4 * fos.text_width())) { |
| 6117 | hindent = fmt_.indent_size(); |
| 6118 | } |
| 6119 | fos.hanging_indent(hindent); |
| 6120 | |
| 6121 | fos.paragraph_spacing(fmt_.paragraph_spacing()); |
| 6122 | fos.min_paragraph_lines_for_spacing(2); |
| 6123 | fos.ignore_newline_chars(fmt_.ignore_newline_chars()); |
| 6124 | |
| 6125 | context cur; |
| 6126 | cur.pos = cli_.begin_dfs(); |
| 6127 | cur.linestart = true; |
| 6128 | cur.level = cur.pos.level(); |
| 6129 | cur.outermost = &cli_; |
| 6130 | |
| 6131 | write(fos, cur, prefix_); |
| 6132 | } |
| 6133 | |
| 6134 | |
| 6135 | /***************************************************************//** |