    deferred class
    	IO_MEDIUM

    General
    	cluster: base
    	description: "Any medium that can perform input and/or output"

    Ancestors
    	DISPOSABLE*
    	STRING_HANDLER

    Queries
    	bytes_read: INTEGER_32
    	exists: BOOLEAN
    	extendible: BOOLEAN
    	handle: INTEGER_32
    	handle_available: BOOLEAN
    	is_closed: BOOLEAN
    	is_executable: BOOLEAN
    	is_open_read: BOOLEAN
    	is_open_write: BOOLEAN
    	is_plain_text: BOOLEAN
    	is_readable: BOOLEAN
    	is_writable: BOOLEAN
    	last_character: CHARACTER_8
    	last_double: REAL_64
    	last_integer: INTEGER_32
    	last_integer_16: INTEGER_16
    	last_integer_32: INTEGER_32
    	last_integer_64: INTEGER_64
    	last_integer_8: INTEGER_8
    	last_natural: NATURAL_32
    	last_natural_16: NATURAL_16
    	last_natural_32: NATURAL_32
    	last_natural_64: NATURAL_64
    	last_natural_8: NATURAL_8
    	last_real: REAL_32
    	last_string: STRING_8
    	lastchar: CHARACTER_8
    	lastdouble: REAL_64
    	lastint: INTEGER_32
    	lastreal: REAL_32
    	laststring: STRING_8
    	name: STRING_8
    	readable: BOOLEAN
    	retrieved: ANY
    	support_storable: BOOLEAN

    Commands
    	basic_store (object: ANY)
    	close
    	dispose
    	general_store (object: ANY)
    	independent_store (object: ANY)
    	new_line
    	put_boolean (b: BOOLEAN)
    	put_character (c: CHARACTER_8)
    	put_double (d: REAL_64)
    	put_integer (i: INTEGER_32)
    	put_integer_16 (i: INTEGER_16)
    	put_integer_32 (i: INTEGER_32)
    	put_integer_64 (i: INTEGER_64)
    	put_integer_8 (i: INTEGER_8)
    	put_managed_pointer (p: MANAGED_POINTER; start_pos, nb_bytes: INTEGER_32)
    	put_natural (i: NATURAL_32)
    	put_natural_16 (i: NATURAL_16)
    	put_natural_32 (i: NATURAL_32)
    	put_natural_64 (i: NATURAL_64)
    	put_natural_8 (i: NATURAL_8)
    	put_new_line
    	put_real (r: REAL_32)
    	put_string (s: STRING_8)
    	putbool (b: BOOLEAN)
    	putchar (c: CHARACTER_8)
    	putdouble (d: REAL_64)
    	putint (i: INTEGER_32)
    	putreal (r: REAL_32)
    	putstring (s: STRING_8)
    	read_character
    	read_double
    	read_integer
    	read_integer_16
    	read_integer_32
    	read_integer_64
    	read_integer_8
    	read_line
    	read_natural
    	read_natural_16
    	read_natural_32
    	read_natural_64
    	read_natural_8
    	read_real
    	read_stream (nb_char: INTEGER_32)
    	read_to_managed_pointer (p: MANAGED_POINTER; start_pos, nb_bytes: INTEGER_32)
    	readchar
    	readdouble
    	readint
    	readline
    	readreal
    	readstream (nb_char: INTEGER_32)