indexing
	description: "Indirection proxy allowing share of objects between threads, without having the garbage collectors intercollect each-other."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	PROXY [G]

create 

	frozen make (obj: G)
			-- Make proxy denote obj.
			-- Was declared in PROXY as synonym of put.
		require
			not_void: obj /= void

	frozen put (obj: G)
			-- Make proxy denote obj.
			-- Was declared in PROXY as synonym of make.
		require
			not_void: obj /= void

feature -- Access

	item: G
			-- Object attached to proxy.
	
invariant

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

end -- class PROXY