indexing
	description: "Commonly used input and output mechanisms. This class may be used as either ancestor or supplier by classes needing its facilities."

class interface
	STD_FILES

feature -- Access

	default_output: PLAIN_TEXT_FILE
			-- Default output

	error: PLAIN_TEXT_FILE
			-- Standard error file

	input: PLAIN_TEXT_FILE
			-- Standard input file

	output: PLAIN_TEXT_FILE
			-- Standard output file

	standard_default: PLAIN_TEXT_FILE
			-- Return the default_output or output
			-- if default_output is Void.
	
feature -- Status report

	last_character: CHARACTER
			-- Last character read by read_character
			-- Was declared in STD_FILES as synonym of last_character and lastchar.

	last_double: DOUBLE
			-- Last double read by read_double
			-- Was declared in STD_FILES as synonym of last_double and lastdouble.

	last_integer: INTEGER
			-- Last integer read by read_integer
			-- Was declared in STD_FILES as synonym of last_integer and lastint.

	last_real: REAL
			-- Last real read by read_real
			-- Was declared in STD_FILES as synonym of last_real and lastreal.

	last_string: STRING
			-- Last string read by read_line,
			-- read_stream, or read_word
			-- Was declared in STD_FILES as synonym of last_string and laststring.

	lastchar: CHARACTER
			-- Last character read by read_character
			-- Was declared in STD_FILES as synonym of last_character and lastchar.

	lastdouble: DOUBLE
			-- Last double read by read_double
			-- Was declared in STD_FILES as synonym of last_double and lastdouble.

	lastint: INTEGER
			-- Last integer read by read_integer
			-- Was declared in STD_FILES as synonym of last_integer and lastint.

	lastreal: REAL
			-- Last real read by read_real
			-- Was declared in STD_FILES as synonym of last_real and lastreal.

	laststring: STRING
			-- Last string read by read_line,
			-- read_stream, or read_word
			-- Was declared in STD_FILES as synonym of last_string and laststring.
	
feature -- Element change

	new_line
			-- Write line feed at end of default output.
			-- Was declared in STD_FILES as synonym of put_new_line and new_line.

	put_boolean (b: BOOLEAN)
			-- Write b at end of default output.
			-- Was declared in STD_FILES as synonym of put_boolean and putbool.

	put_character (c: CHARACTER)
			-- Write c at end of default output.
			-- Was declared in STD_FILES as synonym of put_character and putchar.

	put_double (d: DOUBLE)
			-- Write d at end of default output.
			-- Was declared in STD_FILES as synonym of put_double and putdouble.

	put_integer (i: INTEGER)
			-- Write i at end of default output.
			-- Was declared in STD_FILES as synonym of put_integer and putint.

	put_new_line
			-- Write line feed at end of default output.
			-- Was declared in STD_FILES as synonym of put_new_line and new_line.

	put_real (r: REAL)
			-- Write r at end of default output.
			-- Was declared in STD_FILES as synonym of put_real and putreal.

	put_string (s: STRING)
			-- Write s at end of default output.
			-- Was declared in STD_FILES as synonym of put_string and putstring.
		require
			string_not_void: s /= void

	putbool (b: BOOLEAN)
			-- Write b at end of default output.
			-- Was declared in STD_FILES as synonym of put_boolean and putbool.

	putchar (c: CHARACTER)
			-- Write c at end of default output.
			-- Was declared in STD_FILES as synonym of put_character and putchar.

	putdouble (d: DOUBLE)
			-- Write d at end of default output.
			-- Was declared in STD_FILES as synonym of put_double and putdouble.

	putint (i: INTEGER)
			-- Write i at end of default output.
			-- Was declared in STD_FILES as synonym of put_integer and putint.

	putreal (r: REAL)
			-- Write r at end of default output.
			-- Was declared in STD_FILES as synonym of put_real and putreal.

	putstring (s: STRING)
			-- Write s at end of default output.
			-- Was declared in STD_FILES as synonym of put_string and putstring.
		require
			string_not_void: s /= void

	set_error_default
			-- Use standard error as default output.

	set_file_default (f: PLAIN_TEXT_FILE)
			-- Use f as default output.
		require
			valid_argument: f /= void;
			file_open_write: f.is_open_write

	set_output_default
			-- Use standard output as default output.
	
feature -- Input

	next_line
			-- Move to next input line on standard input.
			-- Was declared in STD_FILES as synonym of to_next_line and next_line.

	read_character
			-- Read a new character from standard input.
			-- Make result available in last_character.
			-- Was declared in STD_FILES as synonym of read_character and readchar.

	read_double
			-- Read a new double from standard input.
			-- Make result available in last_double.
			-- Was declared in STD_FILES as synonym of read_double and readdouble.

	read_integer
			-- Read a new integer from standard input.
			-- Make result available in last_integer.
			-- Was declared in STD_FILES as synonym of read_integer and readint.

	read_line
			-- Read a line from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of read_line and readline.

	read_real
			-- Read a new real from standard input.
			-- Make result available in last_real.
			-- Was declared in STD_FILES as synonym of read_real and readreal.

	read_stream (nb_char: INTEGER)
			-- Read a string of at most nb_char bound characters
			-- from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of read_stream and readstream.

	read_word
			-- Read a new word from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of read_word and readword.

	readchar
			-- Read a new character from standard input.
			-- Make result available in last_character.
			-- Was declared in STD_FILES as synonym of read_character and readchar.

	readdouble
			-- Read a new double from standard input.
			-- Make result available in last_double.
			-- Was declared in STD_FILES as synonym of read_double and readdouble.

	readint
			-- Read a new integer from standard input.
			-- Make result available in last_integer.
			-- Was declared in STD_FILES as synonym of read_integer and readint.

	readline
			-- Read a line from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of read_line and readline.

	readreal
			-- Read a new real from standard input.
			-- Make result available in last_real.
			-- Was declared in STD_FILES as synonym of read_real and readreal.

	readstream (nb_char: INTEGER)
			-- Read a string of at most nb_char bound characters
			-- from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of read_stream and readstream.

	readword
			-- Read a new word from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of read_word and readword.

	to_next_line
			-- Move to next input line on standard input.
			-- Was declared in STD_FILES as synonym of to_next_line and next_line.
	
invariant

		-- from GENERAL
	reflexive_equality: standard_is_equal (Current);
	reflexive_conformance: conforms_to (Current);

end -- class STD_FILES