Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "Objects identified, uniquely during any session, by an integer" status: "See notice at end of class" date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" class IDENTIFIED inherit MEMORY export {NONE} all redefine dispose, is_equal, copy end ANY redefine is_equal, copy end feature -- Access frozen object_id: INTEGER is -- Unique for current object in any given session do if internal_id = 0 then internal_id := eif_object_id (Current) end Result := internal_id ensure valid_id: id_object (Result) = Current end frozen id_object (an_id: INTEGER): IDENTIFIED is -- Object associated with an_id (void if no such object) do Result := eif_id_object (an_id) ensure consistent: Result = void or else Result.object_id = an_id end feature -- Status report frozen id_freed: BOOLEAN is -- Has Current been removed from the table? do Result := id_object (internal_id) = void end feature -- Removal frozen free_id is -- Free the entry associated with object_id if any do if internal_id /= 0 then eif_object_id_free (internal_id) end ensure object_freed: id_freed end feature -- Comparison is_equal (other: like Current): BOOLEAN is -- Is other attached to an object considered -- equal to current object? local int_id: INTEGER do int_id := internal_id internal_id := other.internal_id Result := standard_is_equal (other) internal_id := int_id end feature -- Duplication copy (other: like Current) is -- Update current object using fields of object attached -- to other, so as to yield equal objects. local int_id: INTEGER do int_id := internal_id standard_copy (other) internal_id := int_id end feature {NONE} -- Removal dispose is -- Free the entry associated with object_id if any do free_id ensure then object_freed: id_freed end feature {IDENTIFIED} -- Implementation internal_id: INTEGER -- Internal representation of object_id feature {NONE} -- Externals eif_id_object (an_id: INTEGER): IDENTIFIED is -- Object associated with an_id external "C | %"eif_object_id.h%"" end eif_object_id (an_object: IDENTIFIED): INTEGER is -- New identifier for an_object external "C | %"eif_object_id.h%"" end eif_object_id_free (an_id: INTEGER) is -- Free the entry an_id external "C | %"eif_object_id.h%"" end indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail <info@eiffel.com> Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class IDENTIFIED
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

-- Generated by ISE Eiffel --
For more details: www.eiffel.com