indexing
	description: "[
		Commonly used input and output mechanisms.
		This class may be used as either ancestor or supplier
		by classes needing its facilities."
	]"
	status: "See notice at end of class"
	date: "$Date$"
	revision: "$Revision$"

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 lastchar.

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

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

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

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

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

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

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

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

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

feature -- Element change

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

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

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

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

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

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

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

	put_string (s: STRING)
			-- Write s at end of default output.
			-- Was declared in STD_FILES as synonym of 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.

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

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

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

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

	putstring (s: STRING)
			-- Write s at end of default output.
			-- Was declared in STD_FILES as synonym of put_string.
		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.

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

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

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

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

	read_real
			-- Read a new real from standard input.
			-- Make result available in last_real.
			-- Was declared in STD_FILES as synonym of 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 readstream.

	read_word
			-- Read a new word from standard input.
			-- Make result available in last_string.
			-- Was declared in STD_FILES as synonym of 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.

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

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

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

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

	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.

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

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

invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

indexing
	library: "[
			EiffelBase: Library of reusable components for Eiffel.
	]"
	status: "[
			Copyright 1986-2001 Interactive Software Engineering (ISE).
			For ISE customers the original versions are an ISE product
			covered by the ISE Eiffel license and support agreements.
	]"
	license: "[
			EiffelBase may now be used by anyone as FREE SOFTWARE to
			develop any product, public-domain or commercial, without
			payment to ISE, under the terms of the ISE Free Eiffel Library
			License (IFELL) at http://eiffel.com/products/base/license.html.
	]"
	source: "[
			Interactive Software Engineering Inc.
			ISE Building
			360 Storke Road, Goleta, CA 93117 USA
			Telephone 805-685-1006, Fax 805-685-6869
			Electronic mail <info@eiffel.com>
			Customer support http://support.eiffel.com
	]"
	info: "[
			For latest info see award-winning pages: http://eiffel.com
	]"

end -- class STD_FILES