note
	description: "Ancestor to serialize/deserialize data using a buffer in binary format."
	legal: "See notice at end of class."
	status: "See notice at end of class."
	date: "$Date: 2016-12-05 17:39:47 +0000 (Mon, 05 Dec 2016) $"
	revision: "$Revision: 99631 $"

deferred class interface
	SED_BINARY_READER_WRITER

feature -- Status report

	is_ready_for_reading: BOOLEAN
			-- Is Current ready for future read operations?

	is_ready_for_writing: BOOLEAN
			-- Is Current ready for future write operations?

	is_for_reading: BOOLEAN
			-- Will current do a read operation?
	
feature -- Settings

	set_for_reading
			-- Set current for reading.
		ensure
			is_for_reading: is_for_reading

	set_for_writing
			-- Set current for writing.
		ensure
			is_for_writing: not is_for_reading
	
feature -- Access

	read_natural_8: NATURAL_8
			-- Read next natural_8

	read_natural_16: NATURAL_16
			-- Read next natural_16

	read_natural_32: NATURAL_32
			-- Read next natural_32

	read_natural_64: NATURAL_64
			-- Read next natural_64

	read_integer_8: INTEGER_8
			-- Read next integer_8

	read_integer_16: INTEGER_16
			-- Read next integer_16

	read_integer_32: INTEGER_32
			-- Read next integer_32

	read_integer_64: INTEGER_64
			-- Read next integer_64

	read_real_32: REAL_32
			-- Read next real_32

	read_real_64: REAL_64
			-- Read next real_64

	read_pointer: POINTER
			-- Read next pointer
	
feature -- Element change

	write_natural_8 (v: NATURAL_8)
			-- Write v.

	write_natural_16 (v: NATURAL_16)
			-- Write v.

	write_natural_32 (v: NATURAL_32)
			-- Write v.

	write_natural_64 (v: NATURAL_64)
			-- Write v.

	write_integer_8 (v: INTEGER_8)
			-- Write v.

	write_integer_16 (v: INTEGER_16)
			-- Write v.

	write_integer_32 (v: INTEGER_32)
			-- Write v.

	write_integer_64 (v: INTEGER_64)
			-- Write v.

	write_real_32 (v: REAL_32)
			-- Write v.

	write_real_64 (v: REAL_64)
			-- Write v.

	write_pointer (v: POINTER)
			-- Write v.
	
invariant
	buffer_not_void: buffer /= Void
	buffer_size_non_negative: buffer_size >= 0
	buffer_position_non_negative: buffer_position >= 0
	stored_pointer_bytes_non_negative: stored_pointer_bytes >= 0

note
	library: "EiffelBase: Library of reusable components for Eiffel."
	copyright: "Copyright (c) 1984-2008, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		356 Storke Road, Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class SED_BINARY_READER_WRITER

Generated by ISE EiffelStudio