Writes the field header or underline characters to the output stream.
The current output position should have been written up to the field's start position,
including any spaces between fields. Unlike data fields, there is no need to correct
for previous fields that have run long. This routine does not output trailing spaces.
This makes it simpler for lines to avoid unnecessary trailing spaces.
Underlines can either be written the full width of the field or the just under the
text of the header. At present this is a template parameter (compile-time).
Writes the field header or underline characters to the output stream.
The current output position should have been written up to the field's start position, including any spaces between fields. Unlike data fields, there is no need to correct for previous fields that have run long. This routine does not output trailing spaces. This makes it simpler for lines to avoid unnecessary trailing spaces.
Underlines can either be written the full width of the field or the just under the text of the header. At present this is a template parameter (compile-time).
The print width of the output is returned.