indexing
	description: "Windows pipe, used in WEL_PROCESS_LAUNCHER"
class interface
	WEL_PIPE
create 
	make
			
feature 
	close
			
		require
			output_open: not output_closed
			input_open: not input_closed
	close_input
			
		require
			input_open: not input_closed
	close_output
			
		require
			output_open: not output_closed
	
feature 
	put_string (a_string: STRING)
			a_string
			last_written_bytes
		require
			non_void_string: a_string /= void
			input_open: not input_closed
	
feature 
	read_stream (count: INTEGER)
			count
			
			last_read_bytes
			last_string
		require
			valid_count: count > 0
			output_open: not output_closed
	
feature 
	exists: BOOLEAN
			
	input_closed: BOOLEAN
			
	input_handle: INTEGER
			
	last_read_bytes: INTEGER
			
	last_read_successful: BOOLEAN
			
	last_string: STRING
			
	last_write_successful: BOOLEAN
			
	last_written_bytes: INTEGER
			
	output_closed: BOOLEAN
			
	output_handle: INTEGER
			
	
invariant
		 ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
end -- WEL_PIPE