    class
    	ECOM_STREAM

    General
    	cluster: interfaces
    	description: "Encapsulation of standard implementation of IStream interface."
    	create: make_from_pointer, make_from_other

    Ancestors
    	ECOM_EXCEPTION
    	ECOM_LOCK_TYPES
    	ECOM_QUERIABLE*
    	ECOM_STAT_FLAGS
    	ECOM_STAT_FLAGS
    	ECOM_STREAM_SEEK

    Queries
    	access_time: WEL_FILE_TIME
    	assertion_violation: BOOLEAN
    	Check_instruction: INTEGER_32
    	Class_invariant: INTEGER_32
    	class_name: STRING_8
    	clone_stream: ECOM_STREAM
    	Com_exception: INTEGER_32
    	Create_on_deferred: INTEGER_32
    	creation_time: WEL_FILE_TIME
    	description (stat_flag: INTEGER_32): ECOM_STATSTG
    	Developer_exception: INTEGER_32
    	developer_exception_name: STRING_8
    	Dollar_applied_to_melted_feature: INTEGER_32
    	Eiffel_runtime_fatal_error: INTEGER_32
    	Eiffel_runtime_panic: INTEGER_32
    	end_of_stream: BOOLEAN
    	exception: INTEGER_32
    	Exception_in_signal_handler: INTEGER_32
    	exception_trace: STRING_8
    	exists: BOOLEAN
    	External_exception: INTEGER_32
    	Floating_point_exception: INTEGER_32
    	hresult: INTEGER_32
    	hresult_code: INTEGER_32
    	hresult_facility: INTEGER_32
    	hresult_message: STRING_8
    	Incorrect_inspect_value: INTEGER_32
    	Io_exception: INTEGER_32
    	is_developer_exception: BOOLEAN
    	is_developer_exception_of_name (name: STRING_8): BOOLEAN
    	is_signal: BOOLEAN
    	is_system_exception: BOOLEAN
    	is_valid_lock (lock: INTEGER_32): BOOLEAN
    	is_valid_seek (seek: INTEGER_32): BOOLEAN
    	is_valid_stat_flag (flag: INTEGER_32): BOOLEAN
    	item: POINTER
    	last_boolean: BOOLEAN
    	last_character: CHARACTER_8
    	last_integer: INTEGER_32
    	last_real: REAL_32
    	last_string: STRING_8
    	lock_exclusive: INTEGER_32
    	lock_onlyonce: INTEGER_32
    	lock_write: INTEGER_32
    	locks_supported: INTEGER_32
    	Loop_invariant: INTEGER_32
    	Loop_variant: INTEGER_32
    	meaning (except: INTEGER_32): STRING_8
    	modification_time: WEL_FILE_TIME
    	name: STRING_8
    	No_more_memory: INTEGER_32
    	Number_of_codes: INTEGER_32
    	Operating_system_exception: INTEGER_32
    	original_class_name: STRING_8
    	original_exception: INTEGER_32
    	original_recipient_name: STRING_8
    	original_tag_name: STRING_8
    	Out_of_memory: INTEGER_32
    	Postcondition: INTEGER_32
    	Precondition: INTEGER_32
    	recipient_name: STRING_8
    	Rescue_exception: INTEGER_32
    	Resumption_failed: INTEGER_32
    	Retrieve_exception: INTEGER_32
    	Routine_failure: INTEGER_32
    	Runtime_check_exception: INTEGER_32
    	Runtime_io_exception: INTEGER_32
    	Signal_exception: INTEGER_32
    	size: ECOM_ULARGE_INTEGER
    	statflag_default: INTEGER_32
    	statflag_noname: INTEGER_32
    	stream_seek_cur: INTEGER_32
    	stream_seek_end: INTEGER_32
    	stream_seek_set: INTEGER_32
    	tag_name: STRING_8
    	valid_code (c: INTEGER_32): BOOLEAN
    	Void_assigned_to_expanded: INTEGER_32
    	Void_call_target: INTEGER_32

    Commands
    	catch (code: INTEGER_32)
    	copy_to (destination: ECOM_STREAM; bytes: ECOM_ULARGE_INTEGER)
    	die (code: INTEGER_32)
    	finish
    	ignore (code: INTEGER_32)
    	lock_region (offset, count: ECOM_ULARGE_INTEGER; lock: INTEGER_32)
    	message_on_failure
    	no_message_on_failure
    	raise (name: STRING_8)
    	raise_retrieval_exception (name: STRING_8)
    	read (buffer: POINTER; bytes: INTEGER_32)
    	read_boolean
    	read_character
    	read_integer
    	read_real
    	read_string
    	seek (displacement: ECOM_LARGE_INTEGER; origin: INTEGER_32)
    	set_size (new_size: ECOM_ULARGE_INTEGER)
    	start
    	trigger (code: INTEGER_32)
    	unlock_region (offset, count: ECOM_ULARGE_INTEGER; lock: INTEGER_32)
    	update_end_of_stream
    	write (buffer: POINTER; bytes: INTEGER_32)
    	write_boolean (boolean: BOOLEAN)
    	write_character (character: CHARACTER_8)
    	write_integer (integer: INTEGER_32)
    	write_real (real: REAL_32)
    	write_string (string: STRING_8)