class interface UT_STRING_FORMATTER feature(s) from KL_IMPORTED_STRING_ROUTINES -- Access STRING_: KL_STRING_ROUTINES -- Routines that ought to be in class STRING ensure string_routines_not_void: Result /= Void feature(s) from KL_IMPORTED_OUTPUT_STREAM_ROUTINES -- Access OUTPUT_STREAM_: KL_OUTPUT_STREAM_ROUTINES -- Routines that ought to be in class OUTPUT_STREAM ensure output_stream_routines_not_void: Result /= Void feature(s) from KL_IMPORTED_OUTPUT_STREAM_ROUTINES -- Type anchors OUTPUT_STREAM_TYPE: OUTPUT_STREAM feature(s) from UT_IMPORTED_FORMATTERS -- Access INTEGER_FORMATTER_: UT_INTEGER_FORMATTER -- Formatting routines that ought -- to be in class INTEGER ensure integer_formatter_not_void: Result /= Void CHARACTER_FORMATTER_: UT_CHARACTER_FORMATTER -- Formatting routines that ought -- to be in class CHARACTER ensure character_formatter_not_void: Result /= Void BOOLEAN_FORMATTER_: UT_BOOLEAN_FORMATTER -- Formatting routines that ought -- to be in class BOOLEAN ensure boolean_formatter_not_void: Result /= Void STRING_FORMATTER_: UT_STRING_FORMATTER -- Formatting routines that ought -- to be in class STRING ensure string_formatter_not_void: Result /= Void ARRAY_FORMATTER_: UT_ARRAY_FORMATTER -- Formatting routines that ought -- to be in class ARRAY ensure array_formatter_not_void: Result /= Void feature(s) from UT_STRING_FORMATTER -- Access eiffel_string_out (a_string: STRING): STRING -- Formatted version of a_string, where all -- non-printable characters are replaced by their -- escaped character sequence as described in -- ETL, section 25.15, page 422; -- Return a new string at each call. -- Regexp: ([ !#$&(-~]|%[BFNRTU%'"]|%/[0-9]+/)* require a_string_not_void: a_string /= Void ensure eiffel_string_out_not_void: Result /= Void quoted_eiffel_string_out (a_string: STRING): STRING -- Formatted version of a_string, surrounded -- by double quotes, where all non-printable -- characters are replaced by their escaped -- character sequence as described in ETL, -- section 25.15, page 422; -- Return a new string at each call. -- Regexp: \"([ !#$&(-~]|%[BFNRTU%'"]|%/[0-9]+/)*\" require a_string_not_void: a_string /= Void ensure quoted_eiffel_string_out_not_void: Result /= Void left_padded_string_out (a_string: STRING; a_length: INTEGER; c: CHARACTER): STRING -- Clone of a_string, padded on the left with -- c characters if a_string is less than -- a_length character long; -- Return a new string at each call. -- Regexp: c{(a_length-a_string.count).max (0)}a_string require a_string_not_void: a_string /= Void; a_length_positive: a_length >= 0 ensure left_padded_string_out_not_void: Result /= Void feature(s) from UT_STRING_FORMATTER -- String handling append_eiffel_string (a_target: STRING; a_string: STRING) -- Append a_string to a_target, where all -- non-printable characters are replaced by their -- escaped character sequence as described in -- ETL, section 25.15, page 422. require a_target_not_void: a_target /= Void; a_string_not_void: a_string /= Void append_quoted_eiffel_string (a_target: STRING; a_string: STRING) -- Append a_string, surrounded by double quotes, to -- a_target, where all non-printable characters are -- replaced by their escaped character sequence as -- described in ETL, section 25.15, page 422. require a_target_not_void: a_target /= Void; a_string_not_void: a_string /= Void append_left_padded_string (a_target: STRING; a_string: STRING; a_length: INTEGER; c: CHARACTER) -- Append a_string to a_target, padded on the -- left with c characters if a_string is less -- than a_length character long. require a_target_not_void: a_target /= Void; a_string_not_void: a_string /= Void; a_length_positive: a_length >= 0 feature(s) from UT_STRING_FORMATTER -- File handling put_eiffel_string (a_file: like OUTPUT_STREAM_TYPE; a_string: STRING) -- Write a_string to a_file, where all -- non-printable characters are replaced by their -- escaped character sequence as described in -- ETL, section 25.15, page 422. require a_file_not_void: a_file /= Void; a_file_is_open_write: OUTPUT_STREAM_.is_open_write(a_file); a_string_not_void: a_string /= Void put_quoted_eiffel_string (a_file: like OUTPUT_STREAM_TYPE; a_string: STRING) -- Write a_string, surrounded by double quotes, to -- a_file, where all non-printable characters are -- replaced by their escaped character sequence as -- described in ETL, section 25.15, page 422. require a_file_not_void: a_file /= Void; a_file_is_open_write: OUTPUT_STREAM_.is_open_write(a_file); a_string_not_void: a_string /= Void put_left_padded_string (a_file: like OUTPUT_STREAM_TYPE; a_string: STRING; a_length: INTEGER; c: CHARACTER) -- Write a_string to a_file, padded on the -- left with c characters if a_string is less -- than a_length character long. require a_file_not_void: a_file /= Void; a_file_is_open_write: OUTPUT_STREAM_.is_open_write(a_file); a_string_not_void: a_string /= Void; a_length_positive: a_length >= 0 end of UT_STRING_FORMATTER